Address
type Address
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
`ObjectId`s and `Address`es 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:
```text address = 32OCTET ```
type Address struct {
// contains filtered or unexported fields
}
func AddressAuthenticatorState
func AddressAuthenticatorState() *Address
func AddressClock
func AddressClock() *Address
func AddressDenyList
func AddressDenyList() *Address
func AddressFramework
func AddressFramework() *Address
func AddressFromBcs
func AddressFromBcs(bcs []byte) (*Address, error)
Create this type from BCS encoded bytes.
func AddressFromBytes
func AddressFromBytes(bytes []byte) (*Address, error)
func AddressFromHex
func AddressFromHex(hex string) (*Address, error)
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).
func AddressFromJson
func AddressFromJson(json string) (*Address, error)
Create this type from JSON encoded string.
func AddressFromPrefixedHex
func AddressFromPrefixedHex(hex string) (*Address, error)
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).
func AddressFromPrefixedShortHex
func AddressFromPrefixedShortHex(hex string) (*Address, error)
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 `0`s.
func AddressFromShortHex
func AddressFromShortHex(hex string) (*Address, error)
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 `0`s.
func AddressGenesisBridge
func AddressGenesisBridge() *Address
func AddressGenesisIotaBridge
func AddressGenesisIotaBridge() *Address
func AddressMax
func AddressMax() *Address
func AddressRandom
func AddressRandom() *Address
func AddressRandomnessState
func AddressRandomnessState() *Address
func AddressStardust
func AddressStardust() *Address
func AddressStd
func AddressStd() *Address
func AddressSystem
func AddressSystem() *Address
func AddressSystemState
func AddressSystemState() *Address
func AddressTransactionDenyRules
func AddressTransactionDenyRules() *Address
func AddressZero
func AddressZero() *Address
func LiftFromExternalAddress
func LiftFromExternalAddress(handle uint64) *Address
func (*Address) DebugString
func (_self *Address) DebugString() string
func (*Address) Destroy
func (object *Address) Destroy()
func (*Address) Eq
func (_self *Address) Eq(other *Address) bool
func (*Address) Hash
func (_self *Address) Hash() uint64
func (*Address) Ne
func (_self *Address) Ne(other *Address) bool
func (*Address) NextLexicographical
func (_self *Address) NextLexicographical() *Address
Returns the next digest in byte-increasing order.
func (*Address) NextLexicographicalOpt
func (_self *Address) NextLexicographicalOpt() **Address
Returns the next digest in byte-increasing order, or `None` if the result would overflow.
func (*Address) String
func (_self *Address) String() string
func (*Address) ToBytes
func (_self *Address) ToBytes() []byte
func (*Address) ToCanonicalString
func (_self *Address) ToCanonicalString(withPrefix bool) string
Returns the string representation of this address using the canonical display, with or without a `0x` prefix.
func (*Address) ToHex
func (_self *Address) ToHex() string
Returns the string representation of this address in hex format with `0x` prefix.
func (*Address) ToRawHex
func (_self *Address) ToRawHex() string
Returns the string representation of this address in hex format without `0x` prefix.
func (*Address) ToRawShortHex
func (_self *Address) ToRawShortHex() string
Returns the shortest possible string representation of the address (i.e. with leading zeroes trimmed), without `0x` prefix.
func (*Address) ToShortHex
func (_self *Address) ToShortHex() string
Returns the shortest possible string representation of the address (i.e. with leading zeroes trimmed).