41 lines
35 KiB
HTML
41 lines
35 KiB
HTML
<html><head><title>HD Wallet</title><link rel="stylesheet" type="text/css" href="/static/style.css"></head><body><div class="sidebar"><div class="header"><div class="logo"><a href="/"><div class="image"></div><div class="name">ethers</div><div class="version">v5.0-beta</div></a></div></div><div class="toc"><div><div class="link title"><a href="/">Documentation</a></div><div class="base show link depth-1"><a href="/getting-started/">Getting Started</a></div><div class="hide link depth-2"><a href="/getting-started/#getting-started--installing">Installing</a></div><div class="hide link depth-2"><a href="/getting-started/#getting-started--importing">Importing</a></div><div class="base show link depth-1"><a href="/concepts/">Concepts</a></div><div class="hide link depth-2"><a href="/concepts/events/">Events</a></div><div class="hide link depth-3"><a href="/concepts/events/#events--solidity-topics">Solidity Topics</a></div><div class="hide link depth-2"><a href="/concepts/gas/">Gas</a></div><div class="hide link depth-3"><a href="/concepts/gas/#gas-price">Gas Price</a></div><div class="hide link depth-3"><a href="/concepts/gas/#gas-limit">Gas Limit</a></div><div class="base ancestor show link depth-1"><a href="/api/">Application Programming Interface</a></div><div class="show link depth-2"><a href="/api/contract/">Contract Interaction</a></div><div class="hide link depth-3"><a href="/api/contract/contract/">Contract</a></div><div class="hide link depth-4"><a href="/api/contract/contract/#contract--properties">Properties</a></div><div class="hide link depth-4"><a href="/api/contract/contract/#contract--methods">Methods</a></div><div class="hide link depth-4"><a href="/api/contract/contract/#contract--events">Events</a></div><div class="hide link depth-4"><a href="/api/contract/contract/#contract-metaclass">Meta-Class</a></div><div class="hide link depth-3"><a href="/api/contract/example/">Example: ERC-20 Contract</a></div><div class="hide link depth-4"><a href="/api/contract/example/#example-erc-20-contract--connecting-to-a-contract">Connecting to a Contract</a></div><div class="hide link depth-4"><a href="/api/contract/example/#example-erc-20-contract--properties-inheritted-from-contract">Properties ^^//(inheritted from [[contract]])//^^</a></div><div class="hide link depth-4"><a href="/api/contract/example/#example-erc-20-contract--methods-inheritted-from-contract">Methods ^^//(inheritted from [[contract]])//^^</a></div><div class="hide link depth-4"><a href="/api/contract/example/#erc20-events">Events ^^//(inheritted from Contract)//^^</a></div><div class="hide link depth-4"><a href="/api/contract/example/#example-erc-20-contract--meta-class-methods-added-at-runtime">Meta-Class Methods ^^//(added at Runtime)//^^</a></div><div class="hide link depth-4"><a href="/api/contract/example/#example-erc-20-contract--meta-class-filters-added-at-runtime">Meta-Class Filters ^^//(added at Runtime)//^^</a></div><div class="show link depth-2"><a href="/api/signer/">Signers</a></div><div class="hide link depth-3"><a href="/api/signer/#signer">Signer</a></div><div class="hide link depth-3"><a href="/api/signer/#wallet">Wallet</a></div><div class="hide link depth-3"><a href="/api/signer/#void-signer">VoidSigner</a></div><div class="hide link depth-3"><a href="/api/signer/#externally-owned-account">ExternallyOwnedAccount</a></div><div class="show link depth-2"><a href="/api/providers/">Providers</a></div><div class="hide link depth-3"><a href="/api/providers/provider/">Provider</a></div><div class="hide link depth-4"><a href="/api/providers/provider/#provider--accounts-methods">Accounts Methods</a></div><div class="hide link depth-4"><a href="/api/providers/provider/#provider--blocks-methods">Blocks Methods</a></div><div class="hide link depth-4"><a href="/api/providers/provider/#provider--ethereum-naming-service-ens-methods">Ethereum Naming Service (ENS) Methods</a></div><div class="hide link depth-4"><a href="/api/providers/provider/#provider--logs-methods">Logs Methods</a></div><div class="hide link depth-4"><a href="/api/providers/provider/#provider--network-status-methods">Network Status Methods</a></div><div class="hide link depth-4"><a href="/api/providers/provider/#provider--transactions-methods">Transactions Methods</a></div><div class="hide link depth-4"><a href="/api/providers/provider/#provider--event-emitter-methods">Event Emitter Methods</a></div><div class="hide link depth-4"><a href="/api/providers/provider/#provider--inspection-methods">Inspection Methods</a></div><div class="hide link depth-3"><a href="/api/providers/jsonrpc-provider/">JsonRpcProvider</a></div><div class="hide link depth-4"><a href="/api/providers/jsonrpc-provider/#signer-jsonrpc">JsonRpcSigner</a></div><div class="hide link depth-4"><a href="/api/providers/jsonrpc-provider/#provider-jsonrpc-uncheckedsigner">JsonRpcUncheckedSigner</a></div><div class="hide link depth-3"><a href="/api/providers/api-providers/">API Providers</a></div><div class="hide link depth-4"><a href="/api/providers/api-providers/#api-providers--etherscanprovider">EtherscanProvider</a></div><div class="hide link depth-4"><a href="/api/providers/api-providers/#api-providers--infuraprovider">InfuraProvider</a></div><div class="hide link depth-4"><a href="/api/providers/api-providers/#api-providers--alchemyprovider">AlchemyProvider</a></div><div class="hide link depth-4"><a href="/api/providers/api-providers/#api-providers--cloudfrontprovider">CloudfrontProvider</a></div><div class="hide link depth-3"><a href="/api/providers/other/">Other Providers</a></div><div class="hide link depth-4"><a href="/api/providers/other/#provider-fallback">FallbackProvider</a></div><div class="hide link depth-4"><a href="/api/providers/other/#provider-ipc">IpcProvider</a></div><div class="hide link depth-4"><a href="/api/providers/other/#provider-urljsonrpc">UrlJsonRpcProvider</a></div><div class="hide link depth-4"><a href="/api/providers/other/#provider-web3">Web3Provider</a></div><div class="hide link depth-3"><a href="/api/providers/types/">Types</a></div><div class="hide link depth-4"><a href="/api/providers/types/#provider-blocktag">BlockTag</a></div><div class="hide link depth-4"><a href="/api/providers/types/#provider-network">Network</a></div><div class="hide link depth-4"><a href="/api/providers/types/#provider-block">Block</a></div><div class="hide link depth-4"><a href="/api/providers/types/#types--events-and-logs">Events and Logs</a></div><div class="hide link depth-4"><a href="/api/providers/types/#types--transactions">Transactions</a></div><div class="ancestor show link depth-2"><a href="/api/utils/">Utilities</a></div><div class="show link depth-3"><a href="/api/utils/abi/">Application Binary Interface</a></div><div class="hide link depth-4"><a href="/api/utils/abi/interface/">Interface</a></div><div class="hide link depth-5"><a href="/api/utils/abi/interface/#abi-interface--creating-instances">Creating Instances</a></div><div class="hide link depth-5"><a href="/api/utils/abi/interface/#abi-interface--properties">Properties</a></div><div class="hide link depth-5"><a href="/api/utils/abi/interface/#abi-interface--formatting">Formatting</a></div><div class="hide link depth-5"><a href="/api/utils/abi/interface/#abi-interface--fragment-access">Fragment Access</a></div><div class="hide link depth-5"><a href="/api/utils/abi/interface/#abi-interface--signature-and-topic-hashes">Signature and Topic Hashes</a></div><div class="hide link depth-5"><a href="/api/utils/abi/interface/#abi-interface--encoding-data">Encoding Data</a></div><div class="hide link depth-5"><a href="/api/utils/abi/interface/#abi-interface--decoding-data">Decoding Data</a></div><div class="hide link depth-5"><a href="/api/utils/abi/interface/#abi-interface--parsing">Parsing</a></div><div class="hide link depth-5"><a href="/api/utils/abi/interface/#abi-interface--types">Types</a></div><div class="hide link depth-5"><a href="/api/utils/abi/interface/#abi-fragmentid">Specifying Fragments</a></div><div class="hide link depth-4"><a href="/api/utils/abi/fragments/">Fragments</a></div><div class="hide link depth-5"><a href="/api/utils/abi/fragments/#fragments--formats">Formats</a></div><div class="hide link depth-5"><a href="/api/utils/abi/fragments/#abi-fragment">Fragment</a></div><div class="hide link depth-5"><a href="/api/utils/abi/fragments/#abi-constructorfragment">ConstructorFragment</a></div><div class="hide link depth-5"><a href="/api/utils/abi/fragments/#abi-eventfragment">EventFragment</a></div><div class="hide link depth-5"><a href="/api/utils/abi/fragments/#abi-functionfragment">FunctionFragment</a></div><div class="hide link depth-5"><a href="/api/utils/abi/fragments/#abi-paramtype">ParamType</a></div><div class="show link depth-3"><a href="/api/utils/address/">Addresses</a></div><div class="hide link depth-4"><a href="/api/utils/address/#address-formats">Address Formats</a></div><div class="hide link depth-4"><a href="/api/utils/address/#addresses--functions">Functions</a></div><div class="show link depth-3"><a href="/api/utils/bignumber/">BigNumber</a></div><div class="hide link depth-4"><a href="/api/utils/bignumber/#bignumber--types">Types</a></div><div class="hide link depth-4"><a href="/api/utils/bignumber/#bignumber--creating-instances">Creating Instances</a></div><div class="hide link depth-4"><a href="/api/utils/bignumber/#bignumber--methods">Methods</a></div><div class="hide link depth-4"><a href="/api/utils/bignumber/#bignumber--notes">Notes</a></div><div class="show link depth-3"><a href="/api/utils/bytes/">Byte Manipulation</a></div><div class="hide link depth-4"><a href="/api/utils/bytes/#byte-manipulation--types">Types</a></div><div class="hide link depth-4"><a href="/api/utils/bytes/#byte-manipulation--inspection">Inspection</a></div><div class="hide link depth-4"><a href="/api/utils/bytes/#byte-manipulation--converting-between-arrays-and-hexstrings">Converting between Arrays and Hexstrings</a></div><div class="hide link depth-4"><a href="/api/utils/bytes/#byte-manipulation--array-manipulation">Array Manipulation</a></div><div class="hide link depth-4"><a href="/api/utils/bytes/#byte-manipulation--hexstring-manipulation">Hexstring Manipulation</a></div><div class="hide link depth-4"><a href="/api/utils/bytes/#byte-manipulation--signature-conversion">Signature Conversion</a></div><div class="hide link depth-4"><a href="/api/utils/bytes/#byte-manipulation--random-bytes">Random Bytes</a></div><div class="show link depth-3"><a href="/api/utils/constants/">Constants</a></div><div class="hide link depth-4"><a href="/api/utils/constants/#constants--bytes">Bytes</a></div><div class="hide link depth-4"><a href="/api/utils/constants/#constants--strings">Strings</a></div><div class="hide link depth-4"><a href="/api/utils/constants/#constants--bignumber">BigNumber</a></div><div class="show link depth-3"><a href="/api/utils/display-logic/">Display Logic and Input</a></div><div class="hide link depth-4"><a href="/api/utils/display-logic/#display-logic-and-input--units">Units</a></div><div class="hide link depth-4"><a href="/api/utils/display-logic/#display-logic-and-input--functions">Functions</a></div><div class="show link depth-3"><a href="/api/utils/encoding/">Encoding Utilities</a></div><div class="hide link depth-4"><a href="/api/utils/encoding/#bse58">Base58</a></div><div class="hide link depth-4"><a href="/api/utils/encoding/#base64">Base64</a></div><div class="hide link depth-4"><a href="/api/utils/encoding/#rlp">Recursive-Length Prefix</a></div><div class="show link depth-3"><a href="/api/utils/fixednumber/">FixedNumber</a></div><div class="hide link depth-4"><a href="/api/utils/fixednumber/#fixednumber--creating-instances">Creating Instances</a></div><div class="hide link depth-4"><a href="/api/utils/fixednumber/#fixednumber--properties">Properties</a></div><div class="hide link depth-4"><a href="/api/utils/fixednumber/#fixednumber--methods">Methods</a></div><div class="hide link depth-4"><a href="/api/utils/fixednumber/#fixedformat">FixedFormat</a></div><div class="show link depth-3"><a href="/api/utils/hashing/">Hashing Algorithms</a></div><div class="hide link depth-4"><a href="/api/utils/hashing/#hashing-algorithms--cryptographic-hashing">Cryptographic Hashing</a></div><div class="hide link depth-4"><a href="/api/utils/hashing/#hashing-algorithms--common-hashing-helpers">Common Hashing Helpers</a></div><div class="hide link depth-4"><a href="/api/utils/hashing/#hashing-algorithms--solidity-hashing-algorithms">Solidity Hashing Algorithms</a></div><div class="myself ancestor ancestor show link depth-3"><a href="/api/utils/hdnode/">HD Wallet</a></div><div class="child link depth-4"><a href="/api/utils/hdnode/#hd-wallet--types">Types</a></div><div class="child link depth-4"><a href="/api/utils/hdnode/#hdnode">HDNode</a></div><div class="child link depth-4"><a href="/api/utils/hdnode/#hd-wallet--other-functions">Other Functions</a></div><div class="show link depth-3"><a href="/api/utils/logger/">Logging</a></div><div class="hide link depth-4"><a href="/api/utils/logger/#logger">Logger</a></div><div class="hide link depth-4"><a href="/api/utils/logger/#errors">Errors</a></div><div class="hide link depth-4"><a href="/api/utils/logger/#logger-levels">Log Levels</a></div><div class="show link depth-3"><a href="/api/utils/properties/">Property Utilities</a></div><div class="show link depth-3"><a href="/api/utils/signing-key/">Signing Key</a></div><div class="hide link depth-4"><a href="/api/utils/signing-key/#utils-signingkey--other-functions">Other Functions</a></div><div class="show link depth-3"><a href="/api/utils/strings/">Strings</a></div><div class="hide link depth-4"><a href="/api/utils/strings/#bytes32-string">Bytes32String</a></div><div class="hide link depth-4"><a href="/api/utils/strings/#utf8-string">UTF-8 Strings</a></div><div class="hide link depth-4"><a href="/api/utils/strings/#unicode-normalization-form">UnicodeNormalizationForm</a></div><div class="hide link depth-4"><a href="/api/utils/strings/#utf8error">Custom UTF-8 Error Handling</a></div><div class="show link depth-3"><a href="/api/utils/transactions/">Transactions</a></div><div class="hide link depth-4"><a href="/api/utils/transactions/#utils-transactions--types">Types</a></div><div class="hide link depth-4"><a href="/api/utils/transactions/#utils-transactions--functions">Functions</a></div><div class="show link depth-3"><a href="/api/utils/web/">Web Utilities</a></div><div class="show link depth-3"><a href="/api/utils/wordlists/">Wordlists</a></div><div class="hide link depth-4"><a href="/api/utils/wordlists/#wordlist">Wordlist</a></div><div class="hide link depth-4"><a href="/api/utils/wordlists/#wordlist-languages">Languages</a></div><div class="show link depth-2"><a href="/api/other/">Other Libraries</a></div><div class="hide link depth-3"><a href="/api/other/assembly/">Assembly</a></div><div class="hide link depth-4"><a href="/api/other/assembly/dialect/">Ethers ASM Dialect</a></div><div class="hide link depth-5"><a href="/api/other/assembly/dialect/#asm-dialect-opcode">Opcodes</a></div><div class="hide link depth-5"><a href="/api/other/assembly/dialect/#asm-dialect-label">Labels</a></div><div class="hide link depth-5"><a href="/api/other/assembly/dialect/#asm-dialect-literal">Literals</a></div><div class="hide link depth-5"><a href="/api/other/assembly/dialect/#asm-dialect-comment">Comments</a></div><div class="hide link depth-5"><a href="/api/other/assembly/dialect/#asm-dialect-scope">Scopes</a></div><div class="hide link depth-5"><a href="/api/other/assembly/dialect/#asm-dialect-datasegment">Data Segment</a></div><div class="hide link depth-5"><a href="/api/other/assembly/dialect/#asm-dialect-links">Links</a></div><div class="hide link depth-5"><a href="/api/other/assembly/dialect/#asm-dialect-placeholder">Stack Placeholders</a></div><div class="hide link depth-5"><a href="/api/other/assembly/dialect/#asm-dialect-scripting">Evaluation and Excution</a></div><div class="hide link depth-4"><a href="/api/other/assembly/api/">Utilities</a></div><div class="hide link depth-5"><a href="/api/other/assembly/api/#asm-utilities--assembler">Assembler</a></div><div class="hide link depth-5"><a href="/api/other/assembly/api/#asm-utilities--disassembler">Disassembler</a></div><div class="hide link depth-5"><a href="/api/other/assembly/api/#asm-opcode">Opcode</a></div><div class="hide link depth-4"><a href="/api/other/assembly/ast/">Abstract Syntax Tree</a></div><div class="hide link depth-5"><a href="/api/other/assembly/ast/#asm-ast--types">Types</a></div><div class="hide link depth-5"><a href="/api/other/assembly/ast/#asm-ast--nodes">Nodes</a></div><div class="hide link depth-3"><a href="/api/other/hardware/">Hardware Wallets</a></div><div class="hide link depth-4"><a href="/api/other/hardware/#hw-ledger">LedgerSigner</a></div><div class="base show link depth-1"><a href="/cli/">Command Line Interfaces</a></div><div class="hide link depth-2"><a href="/cli/ethers/">Sandbox Utility</a></div><div class="hide link depth-3"><a href="/cli/ethers/#sandbox-utility--help">Help</a></div><div class="hide link depth-3"><a href="/cli/ethers/#sandbox-utility--examples">Examples</a></div><div class="hide link depth-2"><a href="/cli/asm/">Assembler</a></div><div class="hide link depth-3"><a href="/cli/asm/#cli-asm--help">Help</a></div><div class="hide link depth-3"><a href="/cli/asm/#cli-asm--example-input-files">Example Input Files</a></div><div class="hide link depth-3"><a href="/cli/asm/#cli-asm--assembler-examples">Assembler Examples</a></div><div class="hide link depth-3"><a href="/cli/asm/#cli-asm--disassembler-examples">Disassembler Examples</a></div><div class="hide link depth-2"><a href="/cli/ens/">Ethereum Naming Service</a></div><div class="hide link depth-3"><a href="/cli/ens/#ethereum-naming-service--help">Help</a></div><div class="hide link depth-3"><a href="/cli/ens/#ethereum-naming-service--examples">Examples</a></div><div class="hide link depth-2"><a href="/cli/typescript/">TypeScript</a></div><div class="hide link depth-3"><a href="/cli/typescript/#typescript--help">Help</a></div><div class="hide link depth-3"><a href="/cli/typescript/#typescript--examples">Examples</a></div><div class="hide link depth-2"><a href="/cli/plugin/">Making Your Own</a></div><div class="hide link depth-3"><a href="/cli/plugin/#cli-cli">CLI</a></div><div class="hide link depth-3"><a href="/cli/plugin/#cli-plugin">Plugin</a></div><div class="hide link depth-3"><a href="/cli/plugin/#cli-argparser">ArgParser</a></div><div class="base show link depth-1"><a href="/cookbook/">Cookbook</a></div><div class="base show link depth-1"><a href="/migration/">Migration Guide</a></div><div class="hide link depth-2"><a href="/migration/web3/">Migration: From Web3.js</a></div><div class="hide link depth-3"><a href="/migration/web3/#migration-from-web3-js--contracts">Contracts</a></div><div class="hide link depth-3"><a href="/migration/web3/#migration-from-web3-js--providers">Providers</a></div><div class="hide link depth-3"><a href="/migration/web3/#migration-from-web3-js--numbers">Numbers</a></div><div class="hide link depth-3"><a href="/migration/web3/#migration-from-web3-js--utilities">Utilities</a></div><div class="hide link depth-2"><a href="/migration/ethers-v4/">Migration: From Ethers v4</a></div><div class="hide link depth-3"><a href="/migration/ethers-v4/#migration-v4--bignumber">BigNumber</a></div><div class="hide link depth-3"><a href="/migration/ethers-v4/#migration-v4--contracts">Contracts</a></div><div class="hide link depth-3"><a href="/migration/ethers-v4/#migration-v4--errors">Errors</a></div><div class="hide link depth-3"><a href="/migration/ethers-v4/#migration-v4--interface">Interface</a></div><div class="hide link depth-3"><a href="/migration/ethers-v4/#migration-v4--utilities">Utilities</a></div><div class="hide link depth-3"><a href="/migration/ethers-v4/#migration-v4--wallet">Wallet</a></div><div class="base show link depth-1"><a href="/testing/">Testing</a></div><div class="base show link depth-1"><a href="/contributing/">Contributing and Hacking</a></div><div class="hide link depth-2"><a href="/contributing/#contributing-and-hacking--building">Building</a></div><div class="base show link depth-1"><a href="/documentation/">Flatworm Docs</a></div><div class="hide link depth-2"><a href="/documentation/#flatworm-fragments">Fragments</a></div><div class="hide link depth-2"><a href="/documentation/#flatworm-markdown">Markdown</a></div><div class="hide link depth-2"><a href="/documentation/#flatworm-config">Configuration</a></div><div class="hide link depth-2"><a href="/documentation/#flatworm-extended-directive-functions">Extended Directive Functions</a></div><div class="base show link depth-1"><a href="/license/">License and Copyright</a></div></div></div></div><div class="content"><div class="breadcrumbs"><a href="/">Documentation</a> » <a href="/api/">API</a> » <a href="/api/utils/">Utilities</a> » <span class="current">HD Wallet</span></div><a name="hd-wallet"></a><h1 class="show-anchors"><div>HD Wallet<div class="anchors"><a class="self" href="#hd-wallet"></a></div></div></h1>
|
|
<p>TODO: Explain <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki">BIP32</a> <a href="https://en.bitcoin.it/wiki/BIP_0039">BIP-39</a> and whatnot here...</p>
|
|
<a name="hd-wallet--types"></a><h2 class="show-anchors"><div>Types<div class="anchors"><a class="self" href="#hd-wallet--types"></a></div></div></h2>
|
|
|
|
<a name="hdnode-defaultpath"></a><a name="hd-wallet--types--hdnode-defaultpath"></a><a name="hdnode-defaultpath"></a><h3 class="show-anchors"><div>Constants<div class="anchors"><a class="self" href="#hdnode-defaultpath"></a><a class="source" href="https://github.com/ethers-io/ethers.js/blob/ethers-v5-beta/packages/hdnode/src.ts/index.ts#L67">source</a></div></div></h3>
|
|
|
|
<div class="property show-anchors"><div class="signature"><span class="path">ethers</span> . <span class="path">utils</span> . <span class="method">defaultPath</span> <span class="arrow">⇒</span> <span class="returns">"m/44'/60'/0'/0/0"</span><div class="anchors"></div></div><div class="body"><p>The default path for Ethereum in an HD Wallet</p></div></div>
|
|
<a name="hdnode-mnemonic"></a><a name="hd-wallet--types--hdnode-mnemonic"></a><a name="hdnode-mnemonic"></a><h3 class="show-anchors"><div>Mnemonic<div class="anchors"><a class="self" href="#hdnode-mnemonic"></a></div></div></h3>
|
|
|
|
<div class="property show-anchors"><div class="signature"><span class="path">mnemonic</span> . <span class="method">phrase</span> <span class="arrow">⇒</span> <span class="returns">string</span><div class="anchors"></div></div><div class="body"><p>The mnemonic phrase for this mnemonic. It is 12, 15, 18, 21 or 24 words long and separated by the whitespace specified by the <code class="inline">locale</code>.</p></div></div>
|
|
<div class="property show-anchors"><div class="signature"><span class="path">mnemonic</span> . <span class="method">path</span> <span class="arrow">⇒</span> <span class="returns">string</span><div class="anchors"></div></div><div class="body"><p>The HD path for this mnemonic.</p></div></div>
|
|
<div class="property show-anchors"><div class="signature"><span class="path">mnemonic</span> . <span class="method">locale</span> <span class="arrow">⇒</span> <span class="returns">string</span><div class="anchors"></div></div><div class="body"><p>The language of the wordlist this mnemonic is using.</p></div></div>
|
|
<a name="hdnode"></a><a name="hd-wallet--hdnode"></a><a name="hdnode"></a><h2 class="show-anchors"><div>HDNode<div class="anchors"><a class="self" href="#hdnode"></a><a class="source" href="https://github.com/ethers-io/ethers.js/blob/ethers-v5-beta/packages/hdnode/src.ts/index.ts#L75">source</a></div></div></h2>
|
|
|
|
<a name="hd-wallet--hdnode--creating-instances"></a><h3 class="show-anchors"><div>Creating Instances<div class="anchors"><a class="self" href="#hd-wallet--hdnode--creating-instances"></a></div></div></h3>
|
|
|
|
<div class="property show-anchors"><div class="signature"><span class="path">ethers</span> . <span class="path">HDNode</span> . <span class="method">fromMnemonic</span> ( <span class="param">phrase</span> [ , <span class="param">password</span> [ , <span class="param">wordlist</span> ] ] ) <span class="arrow">⇒</span> <span class="returns"><a href="/api/utils/hdnode/#hdnode">HDNode</a></span><div class="anchors"><a class="source" href="https://github.com/ethers-io/ethers.js/blob/ethers-v5-beta/packages/hdnode/src.ts/index.ts#L262">source</a></div></div><div class="body"><p>Return the <a href="/api/utils/hdnode/#hdnode">HDNode</a> for <i>phrase</i> with the optional <i>password</i> and <i>wordlist</i>.</p></div></div>
|
|
<div class="property show-anchors"><div class="signature"><span class="path">ethers</span> . <span class="path">HDNode</span> . <span class="method">fromSeed</span> ( <span class="param">aBytesLike</span> ) <span class="arrow">⇒</span> <span class="returns"><a href="/api/utils/hdnode/#hdnode">HDNode</a></span><div class="anchors"><a class="source" href="https://github.com/ethers-io/ethers.js/blob/ethers-v5-beta/packages/hdnode/src.ts/index.ts#L277">source</a></div></div><div class="body"><p>Return the <a href="/api/utils/hdnode/#hdnode">HDNode</a> for the seed <i>aBytesLike</i>.</p></div></div>
|
|
<div class="property show-anchors"><div class="signature"><span class="path">ethers</span> . <span class="path">HDNode</span> . <span class="method">fromExtendedKey</span> ( <span class="param">extendedKey</span> ) <span class="arrow">⇒</span> <span class="returns"><a href="/api/utils/hdnode/#hdnode">HDNode</a></span><div class="anchors"><a class="source" href="https://github.com/ethers-io/ethers.js/blob/ethers-v5-beta/packages/hdnode/src.ts/index.ts#L281">source</a></div></div><div class="body"><p>Return the <a href="/api/utils/hdnode/#hdnode">HDNode</a> for the <i>extendedKey</i>. If <i>extendedKey</i> was neutered, the <b>HDNode</b> will only be able to compute addresses and not private keys.</p></div></div>
|
|
<a name="hd-wallet--hdnode--properties"></a><h3 class="show-anchors"><div>Properties<div class="anchors"><a class="self" href="#hd-wallet--hdnode--properties"></a></div></div></h3>
|
|
|
|
<div class="property show-anchors"><div class="signature"><span class="path">hdNode</span> . <span class="method">privateKey</span> <span class="arrow">⇒</span> <span class="returns">string< <a href="/api/utils/bytes/#datahexstring">DataHexstring</a>< 32 > ></span><div class="anchors"></div></div><div class="body"><p>The private key for this HDNode.</p></div></div>
|
|
<div class="property show-anchors"><div class="signature"><span class="path">hdNode</span> . <span class="method">publicKey</span> <span class="arrow">⇒</span> <span class="returns">string< <a href="/api/utils/bytes/#datahexstring">DataHexstring</a>< 33 > ></span><div class="anchors"></div></div><div class="body"><p>The (compresses) public key for this HDNode.</p></div></div>
|
|
<div class="property show-anchors"><div class="signature"><span class="path">hdNode</span> . <span class="method">fingerprint</span> <span class="arrow">⇒</span> <span class="returns">string< <a href="/api/utils/bytes/#datahexstring">DataHexstring</a>< 4 > ></span><div class="anchors"></div></div><div class="body"><p>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.</p><p>Most developers will not need to use this.</p></div></div>
|
|
<div class="property show-anchors"><div class="signature"><span class="path">hdNode</span> . <span class="method">parentFingerprint</span> <span class="arrow">⇒</span> <span class="returns">string< <a href="/api/utils/bytes/#datahexstring">DataHexstring</a>< 4 > ></span><div class="anchors"></div></div><div class="body"><p>The fingerprint of the parent node. See <i>fingerprint</i> for more details.</p><p>Most developers will not need to use this.</p></div></div>
|
|
<div class="property show-anchors"><div class="signature"><span class="path">hdNode</span> . <span class="method">address</span> <span class="arrow">⇒</span> <span class="returns">string< <a href="/api/utils/address/#address">Address</a> ></span><div class="anchors"></div></div><div class="body"><p>The address of this HDNode.</p></div></div>
|
|
<div class="property show-anchors"><div class="signature"><span class="path">hdNode</span> . <span class="method">mnemonic</span> <span class="arrow">⇒</span> <span class="returns"><a href="/api/utils/hdnode/#hdnode-mnemonic">Mnemonic</a></span><div class="anchors"></div></div><div class="body"><p>The mnemonic of this HDNode, if known.</p></div></div>
|
|
<div class="property show-anchors"><div class="signature"><span class="path">hdNode</span> . <span class="method">path</span> <span class="arrow">⇒</span> <span class="returns">string</span><div class="anchors"></div></div><div class="body"><p>The path of this HDNode, if known. If the <i>mnemonic</i> is also known, this will match <code class="inline">mnemonic.path</code>.</p></div></div>
|
|
<div class="property show-anchors"><div class="signature"><span class="path">hdNode</span> . <span class="method">chainCode</span> <span class="arrow">⇒</span> <span class="returns">string< <a href="/api/utils/bytes/#datahexstring">DataHexstring</a>< 32 > ></span><div class="anchors"></div></div><div class="body"><p>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.</p><p>Most developers will not need to use this.</p></div></div>
|
|
<div class="property show-anchors"><div class="signature"><span class="path">hdNode</span> . <span class="method">index</span> <span class="arrow">⇒</span> <span class="returns">number</span><div class="anchors"></div></div><div class="body"><p>The index of this HDNode. This will match the last component of the <i>path</i>.</p><p>Most developers will not need to use this.</p></div></div>
|
|
<div class="property show-anchors"><div class="signature"><span class="path">hdNode</span> . <span class="method">depth</span> <span class="arrow">⇒</span> <span class="returns">number</span><div class="anchors"></div></div><div class="body"><p>The depth of this HDNode. This will match the number of components (less one, the <code class="inline">m/</code>) of the <i>path</i>.</p><p>Most developers will not need to use this.</p></div></div>
|
|
<div class="property show-anchors"><div class="signature"><span class="path">hdNode</span> . <span class="method">extendedKey</span> <span class="arrow">⇒</span> <span class="returns">string</span><div class="anchors"></div></div><div class="body"><p>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 <code class="inline">fromExtendedKey</code> class method) will result in reduced information.</p></div></div>
|
|
<a name="hd-wallet--hdnode--methods"></a><h3 class="show-anchors"><div>Methods<div class="anchors"><a class="self" href="#hd-wallet--hdnode--methods"></a></div></div></h3>
|
|
|
|
<div class="property show-anchors"><div class="signature"><span class="path">hdNode</span> . <span class="method">neuter</span> ( ) <span class="arrow">⇒</span> <span class="returns"><a href="/api/utils/hdnode/#hdnode">HDNode</a></span><div class="anchors"><a class="source" href="https://github.com/ethers-io/ethers.js/blob/ethers-v5-beta/packages/hdnode/src.ts/index.ts#L161">source</a></div></div><div class="body"><p>Return a new instance of <i>hdNode</i> 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.</p></div></div>
|
|
<div class="property show-anchors"><div class="signature"><span class="path">hdNode</span> . <span class="method">derivePath</span> ( <span class="param">path</span> ) <span class="arrow">⇒</span> <span class="returns"><a href="/api/utils/hdnode/#hdnode">HDNode</a></span><div class="anchors"><a class="source" href="https://github.com/ethers-io/ethers.js/blob/ethers-v5-beta/packages/hdnode/src.ts/index.ts#L224">source</a></div></div><div class="body"><p>Return a new <a href="/api/utils/hdnode/#hdnode">HDNode</a> which is the child of <i>hdNode</i> found by deriving <i>path</i>.</p></div></div>
|
|
<a name="hd-wallet--other-functions"></a><h2 class="show-anchors"><div>Other Functions<div class="anchors"><a class="self" href="#hd-wallet--other-functions"></a></div></div></h2>
|
|
|
|
<div class="property show-anchors"><div class="signature"><span class="path">ethers</span> . <span class="path">utils</span> . <span class="method">mnemonicToSeed</span> ( <span class="param">phrase</span> [ , <span class="param">password</span> ] ) <span class="arrow">⇒</span> <span class="returns">string< <a href="/api/utils/bytes/#datahexstring">DataHexstring</a>< 64 > ></span><div class="anchors"><a class="source" href="https://github.com/ethers-io/ethers.js/blob/ethers-v5-beta/packages/hdnode/src.ts/index.ts#L309">source</a></div></div><div class="body"><p>Convert a mnemonic phrase to a seed, according to <a href="https://en.bitcoin.it/wiki/BIP_0039">BIP-39</a>.</p></div></div>
|
|
<div class="property show-anchors"><div class="signature"><span class="path">ethers</span> . <span class="path">utils</span> . <span class="method">mnemonicToEntropy</span> ( <span class="param">phrase</span> [ , <span class="param">wordlist</span> ] ) <span class="arrow">⇒</span> <span class="returns">string< <a href="/api/utils/bytes/#datahexstring">DataHexstring</a> ></span><div class="anchors"><a class="source" href="https://github.com/ethers-io/ethers.js/blob/ethers-v5-beta/packages/hdnode/src.ts/index.ts#L317">source</a></div></div><div class="body"><p>Convert a mnemonic phrase to its entropy, according to <a href="https://en.bitcoin.it/wiki/BIP_0039">BIP-39</a>.</p></div></div>
|
|
<div class="property show-anchors"><div class="signature"><span class="path">ethers</span> . <span class="path">utils</span> . <span class="method">isValidMnemonic</span> ( <span class="param">phrase</span> [ , <span class="param">wordlist</span> ] ) <span class="arrow">⇒</span> <span class="returns">boolean</span><div class="anchors"><a class="source" href="https://github.com/ethers-io/ethers.js/blob/ethers-v5-beta/packages/hdnode/src.ts/index.ts#L398">source</a></div></div><div class="body"><p>Returns true if <i>phrase</i> is a valid mnemonic phrase, by testing the checksum.</p></div></div><div class="footer"><div class="nav previous"><a href="/api/utils/hashing/"><span class="arrow">←</span>Hashing Algorithms</a></div> <div class="nav next"><a href="/api/utils/logger/">Logging<span class="arrow">→</span></a></div></div><div class="copyright">The content of this site is licensed under the <a href="https://choosealicense.com/licenses/cc-by-4.0/">Creative Commons Attribution 4.0 International License</a>.</div></div><script src="/script.js" type="text/javascript"></script></body></html><!-- ContentHash:dd617c903e0d590875822b48092008b1bd0f289f75e713a0323e4d2fee9d692e --> |