一、通过助记词获取所有关联的账号:公钥、私钥、地址
需要使用bip39协议将助记词转换成种子,再通过ethereumjs-wallet库生成hd钱包,根据路径的不同从hd钱包中获取不同的keypair,keypair中就包含有公钥、私钥,再通过ethereumjs-util库将公钥生成地址,从而根据助记词获取所有关联的账号,能获取到公钥、私钥、地址等数据信息。
可见助记词可以获取多个账号私钥,它比私钥重要性更高,必须妥善保管。
HD 钱包和BIP协议的相关概念请查看"04-密码、私钥、keystore与助记词之间的爱恨情仇"章节中助记词的内容。
1. 依赖库
需要用到三个库:bip39、ethereumjs-wallet/hdkey、ethereumjs-util。先安装依赖库,
cd到项目跟路径运行命令npm i bip39 ethereumjs-wallet ethereumjs-util
bip39:随机产生新的 mnemonic code,并可以将其转成 binary 的 seed。
ethereumjs-wallet:生成和管理公私钥,下面使用其中 hdkey 子套件来创建 HD 钱包。
ethereumjs-util:Ethereum 的一个工具库。