我想从助记符中获取具有正确派生路径的地址

I want to get the address from mnemonic with the proper derivation path

提问人:Tyaaz 提问时间:2/22/2022 更新时间:4/30/2022 访问量:3922

问:

我对区块链编程和一般编程非常陌生。我想使用助记词助记词生成我的 SOL 地址,其派生路径为“m/44'/501'/0'/0”。我找不到合适的 python BIP44 模块,您可以在其中指定派生路径。

python 区块链 公钥 solana 助记词

评论

0赞 Community 2/28/2022
请提供足够的代码,以便其他人可以更好地理解或重现问题。

答:

2赞 Tyaaz 2/23/2022 #1

经过长时间的互联网搜索,我终于找到了一种解决问题的方法,我想与您分享。

from bip_utils import *

MNEMONIC = "...12 words phrase..."

seed_bytes = Bip39SeedGenerator(MNEMONIC).Generate("")

bip44_mst_ctx = Bip44.FromSeed(seed_bytes, Bip44Coins.SOLANA)

bip44_acc_ctx = bip44_mst_ctx.Purpose().Coin().Account(0)

bip44_chg_ctx = bip44_acc_ctx.Change(Bip44Changes.CHAIN_EXT)

print(bip44_chg_ctx.PublicKey().ToAddress())

此代码输出助记符的第一个地址。这仅适用于 Sollet 和 Phantom 钱包!

如果您使用的是Solflare,您可以切断线路!bip44_chg_ctx = bip44_acc_ctx.Change(Bip44Changes.CHAIN_EXT)

评论

0赞 VeilleurTryToFix 8/27/2022
我用 BIP39 单词列表中的示例种子尝试了您的脚本:助记词 = “再次可行的侏儒无线电悲伤清脆的焦虑行为肯定有女孩网”我得到了:bip_utils.utils.mnemonic.mnemonic_ex。MnemonicChecksumError:校验和无效(预期为 0101,得到 1001) 有什么想法吗?谢谢