【免费下载链接】python-hdwalletpython hdwallet项目地址https://gitcode.com/gh_mirrors/pyth/python-hdwallet点击查看免费下载python-hdwallet 是一个 Python 层实现的层次确定性HD钱包生成库内置 Electrum 官方两套助记词标准Electrum-V1128 位旧版与Electrum-V2132/264 位新版。本文带你用最少代码跑通 V1/V2 助记词的生成、校验、种子推导以及 standard、segwit、standard-2fa、segwit-2fa 四种模式下的比特币地址生成。一、先看懂V1 与 V2 助记词有何不同Electrum 客户端在 3.x 版本后把助记词从自研词表升级为基于 BIP39 词表的 V2 体系。两代体系的差异一览对比项Electrum-V1Electrum-V2词数仅 12 词12 词 / 24 词词表1626 个自研单词2048 词11 位/词同 BIP39语言仅英语简体中文、英语、葡萄牙语、西班牙语熵强度128 bit132 bit12 词/ 264 bit24 词类型区分无standard / segwit / standard-2fa / segwit-2fa种子生成SHA256 迭代 10 万次PBKDF2-HMAC-SHA5122048 轮盐值electrum V2 的类型type不是靠最后一个词之类的标记来区分而是对整句助记词计算HMAC-SHA512密钥为Seed version再看十六进制结果的前缀01 standard100 segwit101 standard-2fa102 segwit-2fa。这个设计保证了同类型助记词在海量组合中几乎必然唯一命中逻辑实现见 hdwallet/mnemonics/electrum/v2/mnemonic.py。两种类型的常量定义在 hdwallet/mnemonics/electrum/v2/mnemonic.py四种类型的十六进制前缀映射在 mnemonic_types 字典。二、快速安装与验证hdwallet已在 PyPI 发布一行命令即可安装含 CLI 支持pip install hdwallet[cli]也可以从源码安装仓库地址https://gitcode.com/gh_mirrors/pyth/python-hdwalletgit clone https://gitcode.com/gh_mirrors/pyth/python-hdwallet cd python-hdwallet pip install .验证安装是否成功hdwallet -v三、一行命令生成 Electrum V2 助记词CLI 方式库自带hdwallet命令行工具入口定义于 hdwallet/cli/generate/mnemonic.py--mnemonic-type简写-mt就是用来选择四种模式的# standard 模式默认生成 12 词英语助记词 hdwallet generate mnemonic -c Electrum-V2 -w 12 -mt standard # segwit 模式西班牙语 hdwallet generate mnemonic -c Electrum-V2 -l spanish -w 12 -mt segwit # 24 词的 segwit-2fa 模式 hdwallet generate mnemonic -c Electrum-V2 -w 24 -mt segwit-2fa生成种子同样一行搞定-m传助记词-mt必须与助记词类型一致hdwallet generate seed -c Electrum-V2 -m your mnemonic words... -mt segwit四、Python 实战standard 模式完整流程standard 模式对应传统 P2PKH 地址1...开头派生路径为m/{change}/{address}。核心代码from hdwallet import HDWallet from hdwallet.mnemonics import ( ElectrumV2Mnemonic, ELECTRUM_V2_MNEMONIC_LANGUAGES, ELECTRUM_V2_MNEMONIC_TYPES, ELECTRUM_V2_MNEMONIC_WORDS, ) from hdwallet.derivations import ElectrumDerivation from hdwallet.cryptocurrencies import Bitcoin from hdwallet.consts import MODES, PUBLIC_KEY_TYPES from hdwallet.hds import ElectrumV2HD hdwallet HDWallet( cryptocurrencyBitcoin, hdElectrumV2HD, networkBitcoin.NETWORKS.MAINNET, languageELECTRUM_V2_MNEMONIC_LANGUAGES.ENGLISH, mnemonic_typeELECTRUM_V2_MNEMONIC_TYPES.STANDARD, modeMODES.STANDARD, ).from_mnemonic( mnemonicElectrumV2Mnemonic( mnemonicElectrumV2Mnemonic.from_words( wordsELECTRUM_V2_MNEMONIC_WORDS.TWELVE, languageELECTRUM_V2_MNEMONIC_LANGUAGES.ENGLISH, mnemonic_typeELECTRUM_V2_MNEMONIC_TYPES.STANDARD, ), mnemonic_typeELECTRUM_V2_MNEMONIC_TYPES.STANDARD, ) ).from_derivation( derivationElectrumDerivation(change0, address0) ) print(hdwallet.address()) # 1... 开头的 P2PKH 地址四个关键参数必须自洽mnemonic_type决定助记词按哪种类型生成/校验见 HDWallet 主流程的校验逻辑mode决定派生路径与地址格式常量定义在 hdwallet/consts.pylanguage生成与解析的语言必须一致change/address对应 Electrum 的接收/找零两级索引。五、segwit 模式一键推导 bc1 原生 SegWit 地址segwit 模式是 V2 体系的亮点助记词类型前缀100且派生路径自动在根节点插入硬派生段m/0最终输出bc1...原生 SegWitP2WPKH地址。这条路径规则就写在 ElectrumV2HD.drive() 中mode standard→ 路径m/{change}/{address}→1...地址mode segwit→ 路径m/0/{change}/{address}→bc1...地址把上面示例中两处STANDARD换成SEGWIT并加上modeMODES.SEGWIT地址立刻变为bc1开头hdwallet HDWallet( cryptocurrencyBitcoin, hdElectrumV2HD, networkBitcoin.NETWORKS.MAINNET, languageELECTRUM_V2_MNEMONIC_LANGUAGES.ENGLISH, mnemonic_typeELECTRUM_V2_MNEMONIC_TYPES.SEGWIT, modeMODES.SEGWIT, public_key_typePUBLIC_KEY_TYPES.UNCOMPRESSED, ).from_mnemonic( mnemonicElectrumV2Mnemonic( mnemonicElectrumV2Mnemonic.from_words( wordsELECTRUM_V2_MNEMONIC_WORDS.TWELVE, languageELECTRUM_V2_MNEMONIC_LANGUAGES.ENGLISH, mnemonic_typeELECTRUM_V2_MNEMONIC_TYPES.SEGWIT, ), mnemonic_typeELECTRUM_V2_MNEMONIC_TYPES.SEGWIT, ) ).from_derivation(derivationElectrumDerivation(change0, address0)) print(hdwallet.address()) # bc1... 原生 SegWit 地址完整可运行版本可直接参考官方示例 examples/hdwallet/electrum/v2/from_mnemonic.pyV1 的对应示例在 examples/hdwallet/electrum/v1/from_mnemonic.py。六、2fa 模式standard-2fa 与 segwit-2fa2faTwo-Factor Authentication类型是为双因子场景设计的助记词变体其密钥派生方式与对应的基础模式完全相同区别只在类型指纹mnemonic_type十六进制前缀对应的 mode地址格式standard01standard1...P2PKHsegwit100segwitbc1...P2WPKHstandard-2fa101standard1...P2PKHsegwit-2fa102segwitbc1...P2WPKH用法与标准模式完全一致只需替换类型参数。测试数据中就有一条真实的 segwit-2fa 用例12 词葡萄牙语助记词推导出bc1qwrjjrlw8p92dq8atuwv6nfvscxq8zvhsnvd9a6可对照 tests/hdwallet/hdwallet/electrum/v2/segwit_2fa/test_segwit_2fa_from_entropy.py 复现。# 仅示例segwit-2fa 类型的关键参数 HDWallet( hdElectrumV2HD, mnemonic_typeELECTRUM_V2_MNEMONIC_TYPES.SEGWIT_2FA, # 102 前缀 modeMODES.SEGWIT, ... )⚠️ 注意mnemonic_type必须与助记词实际类型一致否则会在 is_valid 校验 阶段抛出MnemonicError。校验还会自动排除恰好是合法 BIP39 或 V1 助记词的边界情况避免误判。七、V1 旧版助记词128 位 1626 词表如果你手里是 Electrum 3.x 之前生成的 12 词助记词用 V1 体系处理。其特点熵为 128 bit按 4 字节一组、每组映射 3 个单词模 1626 的进位算法编解码实现在 ElectrumV1Mnemonic种子 对解码后的熵做SHA256 迭代 100,000 次得到 64 位十六进制32 字节见 hdwallet/seeds/electrum/v1.pyV2 种子则是PBKDF2-HMAC-SHA5122048 轮盐值electrum可附加助记密码得到 128 位十六进制64 字节见 hdwallet/seeds/electrum/v2.py。V1 钱包实例化与 V2 同构只是hdElectrumV1HD且没有mode和mnemonic_type参数输出固定为1...地址。八、核心文件路径速查模块路径V1 助记词hdwallet/mnemonics/electrum/v1/mnemonic.pyV2 助记词含四类型hdwallet/mnemonics/electrum/v2/mnemonic.pyV1 / V2 种子hdwallet/seeds/electrum/v1.py / v2.pyV1 / V2 HD 派生hdwallet/hds/electrum/v1.py / v2.pyElectrum 派生路径hdwallet/derivations/electrum.pyMODES 常量hdwallet/consts.py主入口 HDWallethdwallet/hdwallet.py官方示例目录examples/hdwallet/electrum/测试数据含 2fa 用例tests/data/json/hdwallet.json九、常见问题 FAQQ1segwit 助记词能生成 standard 地址吗可以。mnemonic_type只负责类型校验mode才决定路径与地址格式。把mode设为standard即可得到1...地址反之亦然——这与 Electrum 官方客户端的行为保持一致。Q212 词和 24 词怎么选12 词提供 132 bit 熵日常使用足够24 词提供 264 bit 熵适合多币种、多账户或安全要求更高的场景。Q3助记词语言可以混用吗生成、解码必须使用同一语言简体中文、英语、葡萄牙语、西班牙语四选一词表文件位于 hdwallet/mnemonics/electrum/v2/wordlist/。Q4V2 助记词支持助记密码passphrase吗支持。V2 种子推导时盐值为electrum passphrase只需在种子生成环节传入passphrase参数助记词本身不变钱包会完全不同。Q5如何判断我手里的助记词属于哪种类型调用ElectrumV2Mnemonic.is_type(mnemonic, mnemonic_type)逐一比对四种前缀即可或直接用 CLI 生成同类做交叉验证。 小结python-hdwallet 用统一的HDWallet门面把 Electrum 两代助记词体系、四种模式封装成了传参即用的体验——V1 处理存量老钱包V2 覆盖 standard/segwit/2fa 全场景配合 CLI 一行命令即可完成助记词到比特币地址的完整推导。赞分享【免费下载链接】python-hdwalletpython hdwallet项目地址https://gitcode.com/gh_mirrors/pyth/python-hdwallet点击查看免费下载相关推荐BIP86与Taproot来袭用python-hdwallet派生比特币P2TR原生SegWit地址BIP86与Taproot来袭用python hdwallet派生比特币P2TR原生SegWit地址 TaprootBIP86已成为比特币钱包的新标从助记词到种子python-hdwallet 的 BIP39 种子派生与 Passphrase 完整教程从助记词到种子python hdwallet 的 BIP39 种子派生与 Passphrase 完整教程 python hdwallet 是一款面向多链场景的Ludwig零代码完整教程4步构建能看懂视频并回答问题的视频问答系统Ludwig零代码完整教程4步构建能看懂视频并回答问题的视频问答系统 视频问答Video QA要求模型同时看懂一连串画面、读懂一句提问再把两路信人工智能深度学习机器学习大模型微调LoRA多模态NLP计算机视觉AutoML分布式训练模型推理服务低代码上一篇Win11Debloat5 分钟一键优化 Windows 11禁用遥测、卸载预装应用下一篇PL-2303 驱动 Windows 10 完整安装指南三步装回 3.3.11.152创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考