从BIP39(助记符)到BIP32(公钥/私钥)

2024-09-29 02:27:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我想开发一些代码,用助记符创建比特币的私钥和公钥。我目前对这个过程的理解是:

entropy > nmemonic > seed > public/private keys > public address

我在代码中使用Trezor's nmemonic library和{a2}。

^{pr2}$

如果您注释掉上面的熵线,并运行代码,您将得到:

abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about
b'05de15fb96dc0ab9f03c9d411bf84c586c72e7c30bddd413a304896f9f994ea65e7fcafd2c6b796141e310850e5f30b6abc2e6aec79a8ff81f4ba38fde81c403'
15GyM1xxxxxxxxxxxxxxxxxxxxxxTXrrvG
8ede10xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcae501

我的问题是这些都没有反映在生成助记码和公钥/私钥的iancoleman.io/bip39或{a4}中。

我哪里出错了?


Tags: 代码address过程libraryprivatepublickeystrezor
1条回答
网友
1楼 · 发布于 2024-09-29 02:27:46

两个站点生成的种子与您相同,前提是您的助记符:

abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about

另外,https://bip32jp.github.io/english/给出了这个特定的助记符

^{pr2}$

(必须选择base16编码,因为对unhexlify的调用将此字符串解释为这样)

第一个站点https://iancoleman.io/bip39/#english似乎试探性地确定了熵的字符串编码,并将其识别为二进制。这就产生了另一个结果。在

的值

address['public']['address']
address['private']['hex']

这两个页面与您的页面不同,因为这些页面使用的派生算法与moneywagon不同。Moneywagon使用BIP38一种不受欢迎的算法。我想这就是两个网站都不提供的原因。在

相关问题 更多 >