主页 > imtoken官网钱包app > BIP32 BIP39 BIP44 助记词以太坊账户

BIP32 BIP39 BIP44 助记词以太坊账户

imtoken官网钱包app 2023-05-28 06:18:43

一、什么是HD钱包:

HD Wallet全称是分层确定性(Hierarchical Deterministic)钱包HD Wallets的缩写比特币助记词路径,是一种广泛使用的虚拟货币钱包标准。 HD 钱包是从单个根种子创建的,它是一个 128 到 256 位的随机数。 任何与HD钱包兼容的root seed也可以重新创建整个HD钱包比特币助记词路径,所以拥有HD钱包的root seed就相当于拥有了所有的密钥。 便于存储、导入和导出的密钥。

2. BIP32、BIP39、BIP44: 3.js实现安装依赖包(npm/yarn自己选一个)

$ yarn add bip39 ethereumjs-wallet ethereumjs-util 
$ npm install bip39 ethereumjs-wallet ethereumjs-util

代码

$ mkdir account_key && cd account_key
$ npm init //默认
$ vim index.js //将下述的代码copy到此文件

比特币助记词路径_比特币期货对比特币影响_比特币之父能不能随意制造比特币

$ node index.js //运行 打印结果

const bip39 = require('bip39')
const {hdkey} = require('ethereumjs-wallet')
const util = require('ethereumjs-util')
//1 生成助记词 ;1.1 和 1.2 自己按需。
// 1.1 生成助记词 ;这里用生成的.
let mnemonic = bip39.generateMnemonic() 

比特币助记词路径_比特币期货对比特币影响_比特币之父能不能随意制造比特币

// let mnemonic_chinese = bip39.generateMnemonic(128,null,bip39.wordlists.chinese_simplified) // console.log("中文助记词: " + mnemonic_chinese) // 1.2 生成助记词 ;这里用写死的. // let mnemonic = "hold scale hybrid tank dilemma bullet ship language attitude rug tennis host" console.log("助记词:" + mnemonic) //2.将助记词转成seed getSeed = async ()=>{ let seed = await bip39.mnemonicToSeed(mnemonic)

比特币助记词路径_比特币之父能不能随意制造比特币_比特币期货对比特币影响

console.log("seed:" + util.bufferToHex(seed)) return seed } //3.提取私钥,公钥,账户 obtainAccount = async ()=>{ let seed = await getSeed() //3.通过hdkey将seed生成HD Wallet let hdWallet = await hdkey.fromMasterSeed(seed) for (let i = 0; i < 5; i++) {

比特币期货对比特币影响_比特币之父能不能随意制造比特币_比特币助记词路径

//4.生成钱包中在m/44'/60'/0'/0/i路径的keypair ethereum let key = await hdWallet.derivePath("m/44'/60'/0'/0/" + i) //5.从keypair中获取私钥 console.log("私钥:" + util.bufferToHex(key._hdkey._privateKey)) //6.从keypair中获取公钥 console.log("公钥:" + util.bufferToHex(key._hdkey._publicKey)) //7.使用keypair中的公钥生成地址 let address = await util.pubToAddress(key._hdkey._publicKey, true) //编码地址 console.log('account',i+1,'0x'+address.toString('hex'))

比特币之父能不能随意制造比特币_比特币助记词路径_比特币期货对比特币影响

console.log("- - - - - - - - - - - - - - - - - - - - - -") } } obtainAccount()

参考:

1、了解HD钱包开发涉及的BIP32、BIP44、BIP39

2、Blockchain HD多链钱包,同一种子管理生成BTC/ETH/EOS钱包助记词、私钥、地址!

2、以太坊助记词提取账户公私钥最新实现可用