lucifer

在 《Web3 的入口 - 区块链钱包》 的结尾,我立过一个 flag:钱包开发的细节还没讲,留言多就专门写一篇。一年半过去了,留言不算多,但这个债我一直记着——毕竟在 web3 圈子混,欠的债是要还的,我只是不想用私钥签名赖账。

那篇文章留了三个没讲清楚的尾巴:私钥到底从哪来?助记词怎么就变成了一串钥匙?地址又是怎么从公钥变出来的?而且为了教学方便,旧文的示例里把公钥直接当地址用(就是 get_address() 里返回的那串 hex),真实的推导根本不是这么回事,本文就来补上这一课。

先把全程的路线图亮出来,你可以把它当成一次”寻根之旅”:一串随机数从出生(熵),到翻译成人话(助记词),磨成始祖(种子),繁衍出一族后代(私钥),最后领到能晒出来的门牌号(地址)。这条链是:

熵 → 助记词 → 种子 → 派生路径 → 私钥 → 公钥 → 地址

只有走完这条线,你才能真正理解那句听起来很魔法的话——“同一套助记词能同时管理以太坊、比特币、Solana 上无数个钱包”。这不是魔法,是三份 BIP 规范(BIP39、BIP32、BIP44)叠出来的组合技。本文全程代码驱动,每一段代码都是我真实跑过的,老规矩,建议你跟着敲一遍。


博客内容遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议

本站使用 Material X 作为主题 。
载入天数...载入时分秒...