我很好奇如何才能与MyCrypto在使用ethers.js的恢复短语方面兼容。
让我们说,我有以下的Mnemonic:
federal train gather tumble service amount address need tail crunch better baby
这导致了一个公共演讲:0xd4E22d1ffe328d8b3F834fa5791f50C16E453a0d
代码:
const derivationPath = "m/44'/60'/0'/0";
var hdNode = ethers.utils.HDNode.fromMnemonic(mnemonic);
var childNode = hdNode.derivePath(derivationPath + '/' + index);
var w = new ethers.Wallet(childNode.privateKey);
console.log(w.address);将这个密码导入MyCrypto也会返回相同的地址,但在我添加密码之后就不再返回了。
让我们把这个钱包像这样导入MyCrypto:
Mnemonic短语: federal train gather tumble service amount address need tail crunch better baby 密码:"test“
第一个生成的地址将是0x3454Bd153214d900253812b4D47787eF23cD76e6,而不是上面提到的那个地址。只有当我删除密码并将其保留为空时,才会生成相同的钱包地址。
我们怎么能用以太石生产同样的东西呢?
在助记符中添加第13个单词将产生“无效助记符”错误消息。


发布于 2022-06-28 11:58:16
Ethereum有传统的和现代的BIP39派生路径。不幸的是,钱包有时使用不兼容的派生路径。
以下是一些常见的途径:
有关派生路径,请参阅源博客文章。。对于权威的来源,请阅读钱包的源代码,并从中选择派生路径。
https://stackoverflow.com/questions/72781609
复制相似问题