ethers.js/docs.wrm/api/utils/hdnode.wrm

126 lines
4.5 KiB
Plaintext
Raw Normal View History

2020-05-08 10:24:40 +03:00
_section: HD Wallet @<hdnodes>
2020-02-18 01:56:13 +03:00
TODO: Explain [BIP32](link-bip-32) [BIP-39](link-bip-39) and whatnot here...
_subsection: Types
2020-05-08 10:24:40 +03:00
_heading: Constants @<hdnodes--defaultpath> @SRC<hdnode:defaultPath>
2020-02-18 01:56:13 +03:00
_property: ethers.utils.defaultPath => "m/44'/60'/0'/0/0"
The default path for Ethereum in an HD Wallet
2020-05-08 10:24:40 +03:00
_heading: Mnemonic @<Mnemonic>
2020-02-18 01:56:13 +03:00
_property: 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``.
_property: mnemonic.path => string
The HD path for this mnemonic.
_property: mnemonic.locale => string
The language of the wordlist this mnemonic is using.
2020-05-08 10:24:40 +03:00
_subsection: HDNode @<HDNode> @SRC<hdnode:class.HDNode>
2020-02-18 01:56:13 +03:00
2020-05-08 10:24:40 +03:00
_heading: Creating Instances @<HDNode--creating>
2020-02-18 01:56:13 +03:00
2020-05-08 10:24:40 +03:00
_property: ethers.HDNode.fromMnemonic(phrase [, password [, wordlist ] ]) => [[HDNode]] @<HDNode-fromMnemonic> @SRC<hdnode>
Return the [[HDNode]] for //phrase// with the optional //password//
2020-02-18 01:56:13 +03:00
and //wordlist//.
2020-05-08 10:24:40 +03:00
_property: ethers.HDNode.fromSeed(aBytesLike) => [[HDNode]] @<HDNode-fromSeed> @SRC<hdnode>
Return the [[HDNode]] for the seed //aBytesLike//.
2020-02-18 01:56:13 +03:00
2020-05-08 10:24:40 +03:00
_property: ethers.HDNode.fromExtendedKey(extendedKey) => [[HDNode]] @<HDNode-fromExtendedKey> @SRC<hdnode>
Return the [[HDNode]] for the //extendedKey//. If //extendedKey// was
2020-02-18 01:56:13 +03:00
neutered, the **HDNode** will only be able to compute addresses and not
private keys.
2020-05-08 10:24:40 +03:00
_heading: Properties @<HDNode--properties>
2020-02-18 01:56:13 +03:00
2020-05-08 10:24:40 +03:00
_property: hdNode.privateKey => string<[[DataHexString]]<32>>
2020-02-18 01:56:13 +03:00
The private key for this HDNode.
2020-05-08 10:24:40 +03:00
_property: hdNode.publicKey => string<[[DataHexString]]<33>>
2020-02-18 01:56:13 +03:00
The (compresses) public key for this HDNode.
2020-05-08 10:24:40 +03:00
_property: hdNode.fingerprint => string<[[DataHexString]]<4>>
2020-02-18 01:56:13 +03:00
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.
2020-05-08 10:24:40 +03:00
_property: hdNode.parentFingerprint => string<[[DataHexString]]<4>>
2020-02-18 01:56:13 +03:00
The fingerprint of the parent node. See //fingerprint// for more
details.
Most developers will not need to use this.
_property: hdNode.address => string<[[address]]>
The address of this HDNode.
2020-05-08 10:24:40 +03:00
_property: hdNode.mnemonic => [[Mnemonic]]
2020-02-18 01:56:13 +03:00
The mnemonic of this HDNode, if known.
_property: hdNode.path => string
The path of this HDNode, if known. If the //mnemonic// is also known,
this will match ``mnemonic.path``.
2020-05-08 10:24:40 +03:00
_property: hdNode.chainCode => string<[[DataHexString]]<32>>
2020-02-18 01:56:13 +03:00
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.
_property: 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.
_property: 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.
_property: 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.
2020-05-08 10:24:40 +03:00
_heading: Methods @<HDNode--methods>
2020-02-18 01:56:13 +03:00
2020-05-08 10:24:40 +03:00
_property: hdNode.neuter() => [[HDNode]] @<HDNode-neuter> @SRC<hdnode>
2020-02-18 01:56:13 +03:00
Return a new instance of //hdNode// with its private key removed
but all otehr 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.
2020-05-08 10:24:40 +03:00
_property: hdNode.derivePath(path) => [[HDNode]] @<HDNode-derivePath> @SRC<hdnode>
Return a new [[HDNode]] which is the child of //hdNode// found
2020-02-18 01:56:13 +03:00
by deriving //path//.
2020-05-08 10:24:40 +03:00
_subsection: Other Functions @<HDNode--utilities>
2020-02-18 01:56:13 +03:00
2020-05-08 10:24:40 +03:00
_property: ethers.utils.mnemonicToSeed(phrase [ , password]) => string<[[DataHexString]]<64>> @<utils-mnemonicToSeed> @SRC<hdnode>
2020-02-18 01:56:13 +03:00
Convert a mnemonic phrase to a seed, according to [BIP-39](link-bip-39).
2020-05-08 10:24:40 +03:00
_property: ethers.utils.mnemonicToEntropy(phrase [ , wordlist ]) => string<[[DataHexString]]> @<utils-mnemonicToEntropy> @SRC<hdnode>
2020-02-18 01:56:13 +03:00
Convert a mnemonic phrase to its entropy, according to [BIP-39](link-bip-39).
2020-05-08 10:24:40 +03:00
_property: ethers.utils.isValidMnemonic(phrase [ , wordlist ]) => boolean @<utils-isValidMnemonic> @SRC<hdnode>
2020-02-18 01:56:13 +03:00
Returns true if //phrase// is a valid mnemonic phrase, by
testing the checksum.