如何用Web3与Eth Account从助记词生成多以太坊地址并匹配MetaMask
解决助记词生成多地址匹配MetaMask的问题
MetaMask使用标准的以太坊HD钱包派生路径:m/44'/60'/0'/0/{index},其中{index}从0开始递增(第一个账户对应0,第二个对应1,以此类推)。你当前的代码默认只生成index=0的账户,要匹配后续地址,需要显式指定派生路径。
修改后的代码示例(生成前5个账户):
from eth_account import Account # 启用HD钱包功能 Account.enable_unaudited_hdwallet_features() # 你的助记词 seed_phrase = 'your seed phrase here' # 生成前5个MetaMask风格的账户 for index in range(5): # 指定MetaMask的派生路径 path = f"m/44'/60'/0'/0/{index}" account = Account.from_mnemonic(seed_phrase, path=path) print(f"账户{index+1}地址: {account.address}")
关键说明
- 不需要连接MetaMask的RPC服务器(
web3实例),直接用eth_account的from_mnemonic方法即可生成地址 - 路径中的
44'是BIP44标准的加密货币类型,60'是以太坊的币种编号,0'/0是MetaMask默认的账户层级,最后的{index}控制生成第几个账户 - 运行代码后,输出的地址会和MetaMask中按顺序创建的账户完全匹配
内容的提问来源于stack exchange,提问作者duy dang
相关产品推荐
相关产品推荐

