Skip to main content

Address

open class Address : Disposable, AutoCloseable, AddressInterface

Unique identifier for an Account on the IOTA blockchain.

An Address is a 32-byte pseudonymous identifier used to uniquely identify an account and asset-ownership on the IOTA blockchain. Often, human-readable addresses are encoded in hexadecimal with a 0x prefix. For example, this is a valid IOTA address: 0x02a212de6a9dfa3a69e22387acfbafbb1a9e591bd9d636e7895dcfc8de05f331.

Deriving an Address

Addresses are cryptographically derived from a number of user account authenticators, the simplest of which is an Ed25519PublicKey.

Deriving an address consists of the Blake2b256 hash of the sequence of bytes of its corresponding authenticator, prefixed with a domain-separator (except ed25519, for compatibility reasons). For each other authenticator, this domain-separator is the single byte-value of its SignatureScheme flag. E.g. hash(signature schema flag || authenticator bytes).

Each authenticator has a method for deriving its Address as well as documentation for the specifics of how the derivation is done. See Ed25519PublicKey::derive_address for an example.

Relationship to ObjectIds

ObjectIds and Addresses share the same 32-byte addressable space but are derived leveraging different domain-separator values to ensure that, cryptographically, there won't be any overlap, e.g. there can't be a valid Object who's ObjectId is equal to that of the Address of a user account.

BCS

An Address's BCS serialized form is defined by the following:

address = 32OCTET

Functions

NameSummary
close@Synchronized
open override fun close()
destroyopen override fun destroy()
equalsopen operator override fun equals(other: Any?): Boolean
hashCodeopen override fun hashCode(): Int
nextLexicographicalopen override fun nextLexicographical(): Address
Returns the next digest in byte-increasing order.
nextLexicographicalOptopen override fun nextLexicographicalOpt(): Address?
Returns the next digest in byte-increasing order, or None if the result would overflow.
toBytesopen override fun toBytes(): ByteArray
toCanonicalStringopen override fun toCanonicalString(withPrefix: Boolean): String
Returns the string representation of this address using the canonical display, with or without a 0x prefix.
toHexopen override fun toHex(): String
Returns the string representation of this address in hex format with 0x prefix.
toRawHexopen override fun toRawHex(): String
Returns the string representation of this address in hex format without 0x prefix.
toRawShortHexopen override fun toRawShortHex(): String
Returns the shortest possible string representation of the address (i.e. with leading zeroes trimmed), without 0x prefix.
toShortHexopen override fun toShortHex(): String
Returns the shortest possible string representation of the address (i.e. with leading zeroes trimmed).
toStringopen override fun toString(): String

Companion object functions

NameSummary
authenticatorStatefun authenticatorState(): Address
clockfun clock(): Address
denyListfun denyList(): Address
frameworkfun framework(): Address
fromBytesfun fromBytes(bytes: ByteArray): Address
fromHexfun fromHex(hex: String): Address
Parses an Address from a full-length hex string (64 hex characters), with or without a 0x prefix. Will return an error if the string is not exactly 64 hex characters long (excluding the 0x prefix).
fromPrefixedHexfun fromPrefixedHex(hex: String): Address
Parses an Address from a full-length hex string (64 hex characters), with a mandatory 0x prefix. Will return an error if the string is not exactly 64 hex characters long (excluding the 0x prefix).
fromPrefixedShortHexfun fromPrefixedShortHex(hex: String): Address
Parses an Address from a hex string with a mandatory 0x prefix. The string can be of variable length; if it's shorter than 64 hex characters, it will be left-padded with 0s.
fromShortHexfun fromShortHex(hex: String): Address
Parses an Address from a hex string, with or without a 0x prefix. The string can be of variable length; if it's shorter than 64 hex characters, it will be left-padded with 0s.
genesisBridgefun genesisBridge(): Address
genesisIotaBridgefun genesisIotaBridge(): Address
maxfun max(): Address
randomfun random(): Address
randomnessStatefun randomnessState(): Address
stardustfun stardust(): Address
stdfun std(): Address
systemfun system(): Address
systemStatefun systemState(): Address
transactionDenyRulesfun transactionDenyRules(): Address
zerofun zero(): Address