AddressInterface
interface 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
Inheritors
| Address |
Functions
| Name | Summary |
|---|---|
| nextLexicographical | abstract fun nextLexicographical(): Address Returns the next digest in byte-increasing order. |
| nextLexicographicalOpt | abstract fun nextLexicographicalOpt(): Address? Returns the next digest in byte-increasing order, or None if the result would overflow. |
| toBytes | abstract fun toBytes(): ByteArray |
| toCanonicalString | abstract fun toCanonicalString(withPrefix: Boolean): String Returns the string representation of this address using the canonical display, with or without a 0x prefix. |
| toHex | abstract fun toHex(): String Returns the string representation of this address in hex format with 0x prefix. |
| toRawHex | abstract fun toRawHex(): String Returns the string representation of this address in hex format without 0x prefix. |
| toRawShortHex | abstract fun toRawShortHex(): String Returns the shortest possible string representation of the address (i.e. with leading zeroes trimmed), without 0x prefix. |
| toShortHex | abstract fun toShortHex(): String Returns the shortest possible string representation of the address (i.e. with leading zeroes trimmed). |