使用Go语言实现批量创建TokenPocket钱包地址
用于分层确定性 (HD) 地址的BIP44的 Golang 实现。目前仅支持比特币。
根据MIT 许可证条款发布。
我应该在生产中使用它吗?
该库还处于非常早期的阶段。请注意,可能存在一些错误。
我可以信任这个代码吗?
不要相信。核实。
由于该库还处于早期阶段,我们建议该库的每个用户审核并验证任何底层代码的有效性和适用性。您可以使用此工具来完成此操作。
安装
go get -u github.com/edunuzzi/go-bip44
用法
新24字助记词和种子
// bitSize must be a multiple of 32
bitSize := 256
mnemonic, _ := bip44.NewMnemonic(bitSize)
seedBytes := m.NewSeed("my password")
来自种子十六进制的主密钥
xKey, _ := bip44.NewKeyFromSeedHex("your secret seed in hex format", bip44.MAINNET)
来自种子字节的主密钥
xKey, _ := bip44.NewKeyFromSeedBytes(seedBytes, bip44.MAINNET)
来自 base58 编码的扩展密钥
ak, _ := bip44.NewAccountKeyFromXPubKey(xPubKey)
externalAddress, _ := accountKey.DeriveP2PKAddress(bip44.ExternalChangeType, 0, bip44.MAINNET)
internalAddress, _ := accountKey.DeriveP2PKAddress(bip44.InternalChangeType, 0, bip44.MAINNET)
派生 P2PK 地址
coin | account | chain | address | path |
---|---|---|---|---|
Bitcoin | first | external | first | m / 44' / 0' / 0' / 0 / 0 |
xKey, _ := bip44.NewKeyFromSeedHex("your secret seed in hex format", bip44.MAINNET)
accountKey, _ := xKey.BIP44AccountKey(bip44.BitcoinCoinType, 0, true)
externalAddress, _ := accountKey.DeriveP2PKAddress(bip44.ExternalChangeType, 0, bip44.MAINNET)
coin | account | chain | address | path |
---|---|---|---|---|
Bitcoin | first | external | second | m / 44' / 0' / 0' / 0 / 1 |
xKey, _ := bip44.NewKeyFromSeedHex("your secret seed in hex format", bip44.TESTNET3)
accountKey, _ := xKey.BIP44AccountKey(bip44.TestnetCoinType, 1, true)
externalAddress, _ := accountKey.DeriveP2PKAddress(bip44.InternalChangeType, 0, bip44.TESTNET3)