eth hd钱包
程序员文章站
2022-03-23 14:34:37
...
熵(128位)→助记词(12个)→种子(512位)→私钥→公钥→地址
import ( "fmt" "math/big" "strings" "testing" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/core/types" ) //go test -run TestAddrs func TestAddrs(t *testing.T) { mnemonic, err := MnemonicFun() if err != nil { t.Error(err) } fmt.Println("mnemonic:",*mnemonic) //"there network sister salad scout catch embrace clinic hold jewel kingdom atom" wallet, err := NewFromMnemonic(*mnemonic) if err != nil { t.Error(err) } for i:=0;i<3;i++{ path, err := ParseDerivationPath(fmt.Sprintf("m/44'/60'/0'/0/%d",i)) if err != nil { t.Error(err) } account, err := wallet.Derive(path, true) if err != nil { t.Error(err) } fmt.Println("address:",account.Address.String(),",count:",len(wallet.accounts)) privateKeyHex, err := wallet.PrivateKeyHex(account) if err != nil { t.Error(err) } fmt.Println("privatekey:",privateKeyHex) } for i:=0;i<3;i++{ seed, err := NewSeedFromMnemonic(*mnemonic) if err != nil { t.Error(err) } wallet, err = NewFromSeed(seed) if err != nil { t.Error(err) } path := MustParseDerivationPath(fmt.Sprintf("m/44'/60'/0'/0/%d",i)) account, err := wallet.Derive(path, false) if err != nil { t.Error(err) } wallet.PrivateKey(account) fmt.Println("addr:",account.Address.String()) } }
上一篇: Java开源企业信息化建设平台 O2OA V4.1540 最版发布
下一篇: 笑瞎,逗B青年欢乐多
推荐阅读
-
奔腾G4560核显怎么样 奔腾G4560核显HD610相当于什么水平的显卡
-
Tim怎么打开钱包?Tim手机版钱包功能使用教程
-
premiere怎么制作HD彩条效果?
-
如何办理支付宝钱包信用卡 支付宝网络信用卡办理申请流程
-
InVault:从去中心化企业钱包到数字资产托管生态
-
芯瑞诚信冷钱包携手资产生态链AEG打造全新区块链技术生态圈
-
如何注册比特币钱包 比特币钱包的注册流程图解
-
百度钱包怎么进行实名认证 百度钱包实名认证图文教程详解
-
百度钱包一分钱专享活动开启 免费流量更有八款商品可一分钱专享
-
虚拟机复制的linux无法联网,解决Bringing up interface eth0: Device eth0 does not seem to be present, delaying initialization.