HD Wallet
The Hierarchal Desterministic (HD) Wallet was a standard created for Bitcoin, but lends itself well to a wide variety of Blockchains which rely on secp256k1 private keys.
For a more detailed technical understanding:
BIP-32 - the hierarchal deterministic description
BIP-39 - the method used to derive the BIP-32 seed from human-readable sequences of words (i.e. a mnemonic)
BIP-44 - a standard defined to make BIP-32 easy to adapt to any future compatible blockchain
Types
Constants
hethers.utils.defaultPath ⇒ "m/44'/60'/0'/0/0"
hethers.utils.defaultPath ⇒ "m/44'/60'/0'/0/0"
The default path for Hedera in an HD Wallet
Mnemonic
mnemonic.phrase ⇒ string
mnemonic.phrase ⇒ string
The mnemonic phrase for this mnemonic. It is 12, 15, 18, 21 or 24 words long and separated by the whitespace
specified by the locale
.
mnemonic.path ⇒ string
mnemonic.path ⇒ string
The HD path for this mnemonic.
mnemonic.locale ⇒ string
mnemonic.locale ⇒ string
The language of the wordlist
this mnemonic is using.
HDNode
Creating Instances
hethers.utils.HDNode.fromMnemonic( phrase [, password [, wordlist ] ] ) ⇒ HDNode
hethers.utils.HDNode.fromMnemonic( phrase [, password [, wordlist ] ] ) ⇒ HDNode
Return the HDNode
for phrase with the optional password and wordlist
.
hethers.utils.HDNode.fromSeed( aBytesLike ) ⇒ HDNode
hethers.utils.HDNode.fromSeed( aBytesLike ) ⇒ HDNode
Return the HDNode
for the seed aBytesLike.
hethers.utils.HDNode.fromExtendedKey( extendedKey ) ⇒ HDNode
hethers.utils.HDNode.fromExtendedKey( extendedKey ) ⇒ HDNode
Return the HDNode
for the extendedKey. If extendedKey was neutered, the HDNode
will only be able to compute addresses and not private keys.
Properties
The private key for this HDNode
.
The (compresses) public key for this HDNode
.
The fingerprint is meant as an index to quickly match parent and children nodes together, however collisions may occur and software should verify matching nodes.
Most developers will not need to use this.
The fingerprint of the parent node. See fingerprint for more details.
Most developers will not need to use this.
The address of this HDNode
.
The mnemonic of this HDNode
, if known.
hdNode.path ⇒ string
hdNode.path ⇒ string
The path of this HDNode
, if known. If the mnemonic is also known, this will match mnemonic.path
.
The chain code is used as a non-secret private key which is then used with EC-multiply to provide the ability to derive addresses without the private key of child non-hardened nodes.
Most developers will not need to use this.
hdNode.index ⇒ number
hdNode.index ⇒ number
The index of this HDNode
. This will match the last component of the path.
Most developers will not need to use this.
hdNode.depth ⇒ number
hdNode.depth ⇒ number
The depth of this HDNode
. This will match the number of components (less one, the m/
) of the path.
Most developers will not need to use this.
hdNode.extendedKey ⇒ string
hdNode.extendedKey ⇒ string
A serialized string representation of this HDNode
. Not all properties are included in the serialization, such as the mnemonic and path, so serializing and deserializing (using the fromExtendedKey
class method) will result in reduced information.
Methods
Return a new instance of hdNode with its private key removed but all other properties preserved. This ensures that the key can not leak the private key of itself or any derived children, but may still be used to compute the addresses of itself and any non-hardened children.
Return a new HDNode
which is the child of hdNode found by deriving path.
Other Functions
Convert a mnemonic phrase to a seed, according to BIP-39.
Convert a mnemonic phrase to its entropy, according to BIP-39.
hethers.utils.isValidMnemonic( phrase [, wordlist ] ) ⇒ boolean
hethers.utils.isValidMnemonic( phrase [, wordlist ] ) ⇒ boolean
Returns true if phrase is a valid mnemonic phrase, by testing the checksum.
Last updated