生活随笔
收集整理的這篇文章主要介紹了
关于区块链的助记词以及BTC地址,私钥,公钥,ETH地址获取的方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
VUE項目中的獲取助記詞的方式
安裝需要的依賴環(huán)境
如果你安裝了國內的淘寶鏡像了 ,建議你用cnpm
bip39:npm install bip39
bip32:npm install bip32
ethereumjs-util:npm install ethereumjs-util
bitcoinjs-lib:npm install bitcoinjs-lib
這個我不知道怎么回事,安裝不上需要python環(huán)境,這個是別人給弄得
代碼如下:
var bitcoin
= require('bitcoinjs-lib')
var bip39
= require('bip39')
var bip32
= require('bip32')
var ethUtil
= require("ethereumjs-util");var mnemonic
= bip39
.generateMnemonic()
var mnemonicArr
= mnemonic
.replace(/\s+/g, ',').split(',');
localStorage
.setItem('mnemonic', JSON.stringify(mnemonicArr
))
var seedHex
= bip39
.mnemonicToSeedHex(mnemonic
);
var seed
= bip39
.mnemonicToSeed(mnemonic
)
var seedAsHex
= seed
.toString('hex');
localStorage
.setItem('seed', JSON.stringify(seedAsHex
))
var masterKey
= bitcoin
.HDNode
.fromSeedHex(seed
, bitcoin
.networks
.bitcoin
)
localStorage
.setItem('masterKey', JSON.stringify(masterKey
.toBase58()))
var bip32ExtendedKey
= masterKey
.derivePath("m/44'/0'/0'/0");
var key
= bip32ExtendedKey
.derive(0);
var keyPair
= key
.keyPair
;
var address
= keyPair
.getAddress().toString();
localStorage
.setItem('BTCaddress', JSON.stringify(address
))
var privkey
= keyPair
.toWIF();
localStorage
.setItem('privBTC', JSON.stringify(privkey
))
var pubkey
= keyPair
.getPublicKeyBuffer().toString('hex');
localStorage
.setItem('publBTC', JSON.stringify(pubkey
))
var bip32ExtendedKey
= masterKey
.derivePath("m/44'/60'/0'/0");
key
= bip32ExtendedKey
.derive(0);var keyPair
= key
.keyPair
;
var address
= keyPair
.getAddress().toString();
var privkey
= keyPair
.toWIF();
var pubkey
= keyPair
.getPublicKeyBuffer().toString('hex');
var privKeyBuffer
= keyPair
.d
.toBuffer(32);
privkey
= privKeyBuffer
.toString('hex');
var addressBuffer
= ethUtil
.privateToAddress(privKeyBuffer
);
address
= ethUtil
.addHexPrefix(ethUtil
.toChecksumAddress(ethUtil
.privateToAddress(privKeyBuffer
).toString('hex')));
privkey
= ethUtil
.addHexPrefix(privkey
);
pubkey
= ethUtil
.addHexPrefix(pubkey
);
localStorage
.setItem('ETHaddress', JSON.stringify(address
))
localStorage
.setItem('publETH', JSON.stringify(privkey
))
localStorage
.setItem('privETH', JSON.stringify(pubkey
))
參考文章:廖雪峰大神的博客網站
總結
以上是生活随笔為你收集整理的关于区块链的助记词以及BTC地址,私钥,公钥,ETH地址获取的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。