
我知道在以太坊一组助记词可以创建无数个钱包,Trezor 的 Passphrase 是助记词+passphrase 的基础上再生成一个钱包。
但是我不太明白的是,如果把助记词导入到其他的钱包,比如 metamask ,又怎么使用这个隐藏钱包呢?
1 TangMonk OP 如何用 web3.js 实现类似的功能呢? |
2 kkx Feb 1, 2022 hdwallet(分层确定性钱包) 都是通过 master key 生辰各种无限个钱包, 你知道吧中间路径数改了又能生成新的系列了 如果加盐了 那应该需要吧加了盐之后的 key 倒入到 metamask 上而不是助记词本身 |
4 acess Feb 4, 2022 搜了一下,说别的 eth 钱包有支持 BIP39 ,比如 myetherwallet 。 另外我印象里 ian coleman 的 BIP39 工具也能输入 passphrase ,不过一般不推荐直接用这个工具导出的私钥,如果超过 BIP44 gap limit 导致钱包扫不到之类的。 |
5 acess Feb 4, 2022 另外币圈这个助记词其实蛮够呛。 不少开发者对 BIP39 挑毛病,然后整出来不兼容的新助记词格式,比如 electrum 2.0 助记词、还有 LND 在用的 aezeed 之类的,我没记错的话,最蛋疼的是后面这俩直接就把 BIP39 的英文单词表原封不动拿去用了,于是就可能产生混淆问题,如果运气“够好”就可能会生成按照不同 checksum 规则校验都通过的助记词,比如按照 BIP39 校验通过、按照 electrum2.0 校验也通过…… 那些开发者挑刺说“BIP39 缺少版本号设计、没有规定 HD 派生路径”也不是完全没道理。就比如,一个助记词一直都是当作 ETH 钱包用的,如果导入 BTC 单币种钱包,很显然扫出来 BTC 余额就是 0 。除此之外还有更蛋疼的案例,比如一些 BTC 钱包没支持隔离见证,然后如果导入的那个助记词原先在用隔离见证,那么很显然也会出现类似的现象,扫余额就扫不全,隔离见证的余额(因为不支持嘛)就扫不到,看上去好像丢币了一样。(而且我也不知道早年是啥情况,据说一开始并没有 BIP44/49/84 之类标准规定 HD 派生路径,像 bread wallet 就是这样) 但在 BIP39 设计的角度看,这不是 bug 而是 feature ,正是“缺少版本号设计、没有规定 HD 派生路径”才能同时支持多个币种、多个地址格式、多个“子账户”,而且未来要支持新币种 /地址格式 /子账户都可以直接沿用老的、无需重新备份。 |
6 acess Feb 4, 2022 啊,4 楼我漏打 passphrase 这个单词,更正一下: 搜了一下,说别的 eth 钱包有支持 BIP39 passphrase ,比如 myetherwallet 。 |
7 acess Feb 4, 2022 BTC 隔离见证这个例子其实并不是最蛋疼的,bread wallet 这个才是蛋疼,因为它当年用 BIP39 的时候走的 HD 派生路径并不是(貌似是后来才出现的) BIP44 规定的,于是后来遵守 BIP44 标准的钱包反而扫不到 bread wallet 的 BTC 余额…… |