- 浏览: 785321 次
- 性别:
- 来自: 深圳
-
文章分类
- 全部博客 (1045)
- 数据结构 (36)
- UML与设计模式 (42)
- c++ (87)
- rust (36)
- Qt (41)
- boost模板元编程 (43)
- Linux (77)
- 汇编 (4)
- 其它 (2)
- 烹饪 (3)
- unix c / socket (73)
- 软件工程 (4)
- shell (53)
- Python (37)
- c++ primer 5th(c++11) (22)
- 数据库/MySQL (27)
- 数据存储 (4)
- lisp (7)
- git (4)
- Utility (3)
- CDN与DNS (54)
- Http (53)
- php (7)
- nginx/lua/openresty (41)
- redis (11)
- TCP/IP (16)
- 互联网 (6)
- kernel (2)
- go (34)
- 区块链 (43)
- 比特股 (13)
- 以太坊 (23)
- 比特币 (23)
- 密码学 (10)
- EOS (53)
- DAG (1)
- docker (1)
- filecoin (7)
- solidity (65)
- ipfs (8)
- 零知识证明 (1)
- openzeppelin (3)
- java (1)
- defi (7)
- Ton (0)
最新评论
熵(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()) } }
发表评论
-
EVM操作码
2023-01-25 10:33 3692.栈和内存操作码 2.1 POP:取出栈顶元素 2.2 PU ... -
eth_内存池
2022-02-28 11:09 3771.先验证交易大小,类型,签名,最小gas等 2.尝试把有效交 ... -
布隆过滤器在eth上的应用
2022-02-19 09:34 394设置一个非常大的位图,对数据做多种hash,如果每种hash的 ... -
eth_fetch
2022-02-17 11:38 172fetch的流程 1.当我们接收到NewBlockHashes ... -
rlpx节点之间的加密链路
2022-02-11 08:55 318RLPx使用了(Perfect Forward Secrecy ... -
MPT树
2022-02-02 17:38 208每一个以太坊的区块头包含三颗MPT树,分别是 交易树 收据树 ... -
evm
2021-12-23 19:21 200EVM 不是基于寄存器的,而是基于栈的,因此所有的计算都在一个 ... -
eth的三棵树
2020-11-01 08:49 324交易Merkle树,state Merkle树和收据Merkl ... -
truffle
2020-10-19 09:46 2391.编译 truffle compile --all 2.部 ... -
eth常用操作
2019-12-16 20:01 3471.添加节点 admin.addPeer("enod ... -
eth中文注释版
2019-11-27 08:56 448https://github.com/yinchengtsin ... -
以太坊常用命令
2019-11-24 09:34 168开启挖矿:geth --mine -
以太坊P2P网络
2018-12-17 20:51 3591.节点采用RLPx的发现协议DHT(Distributed ... -
以太坊叔块
2018-12-17 20:44 477叔块:符合难度条件,但区块里的交易不被确认的区块,是当前链接区 ... -
Casper
2018-10-21 09:47 4101.将Casper的应用逻辑通过智能合约来实现,记账权归属于& ... -
雷电网络
2018-10-20 08:27 474雷电网络(Raiden Network):是一个基于以太坊的链 ... -
ERC721
2018-10-19 07:57 488NFT:Non-fungible Token不可替代的代币 最 ... -
智能合约
2018-09-26 07:25 426智能合约是一种计算机协议,这类协议一旦制定和部署就能实现自我执 ... -
ENS
2018-09-20 07:47 431ENS:以太坊域名服务:是建立在以太坊区块链上的分布式,开放的 ... -
交易的流程
2018-09-19 07:37 4001.用户A发起交易,请求被传向对等节点B 2.节点B同步交易 ...
相关推荐
1. **BIP32兼容性**:遵循BIP32(Bitcoin Improvement Proposal 32)标准,它定义了如何创建和遍历HD钱包的密钥树。这意味着你可以生成、备份和恢复助记词,以及创建多个独立的地址,所有这些都基于一个种子。 2. *...
2. **EthHDWallet.java**:这个类可能涉及到了助记词和HD钱包(Hierarchical Deterministic Wallet)。助记词是一种易于记忆的词组,它能安全地代表私钥。HD钱包遵循BIP39标准,允许从一个主种子衍生出无限数量的子...
钱包交易证明钱包代码import子进程import json import os from constants import * from bit import bit from web3导入PrivateKeyTestnet from eth_account导入Web3导入帐户w3 = Web3(Web3.HTTPProvider(“ ”))...
4. **种子到钱包**:从种子可以进一步生成HD(Hierarchical Deterministic)钱包的路径,这遵循BIP32标准。这意味着从一个种子可以生成无限数量的地址,每个都有其独立的公钥和私钥。 5. **支持多语言**:BIP39定义...
2. 账户管理:包括账户的创建、余额查询、新钱包的生成、密钥存储、HD钱包的使用以及地址检查。 3. 交易处理:涉及如何查询交易、区块、转账ETH以及转移ERC-20标准的代币。 4. 智能合约开发: - 编译与部署:智能...