Wallets
使用 ethers.js 恢復 Mnemonic 下的所有帳戶
我是使用 ethers.js 的新手
const { Wallet } = require('ethers'); const wallet = Wallet.fromMnemonic('one two three four ...');
我想使用該程式碼從該Mnemonic恢復所有帳戶。也許這是我不太了解的東西,但它只是檢索該Mnemonic的第一個帳戶。
如何恢復所有帳戶?
該
Wallet.fromMnemonic
函式有第二個參數來指定 BIP-32 派生路徑。預設情況下它會使用m/44'/60'/0'/0/0
,但是如果你想獲得第二個帳戶,你可以使用m/44'/60'/0'/0/1
例如:const { Wallet } = require('ethers'); const wallet = Wallet.fromMnemonic('one two three four ...', `m/44'/60'/0'/0/1`);
或者,您可以使用
HDNode
該類從助記詞快速派生子鍵。例如:const { utils } = require('ethers'); const hdNode = utils.HDNode.fromMnemonic('one two three four ...'); const secondAccount = hdNode.derivePath(`m/44'/60'/0'/0/1`); // This returns a new HDNode const thirdAccount = hdNode.derivePath(`m/44'/60'/0'/0/2`);
HDNode
也可用於獲取 的實例Wallet
。這也是這樣Wallet.fromMnemonic
做的。const wallet = new Wallet(hdNode);