js生成的数据保存到vuex的方法

“use strict”;

var bitcoin = require(‘bitcoinjs-lib’)
var bip39 = require(‘bip39’)
var bip32 = require(‘bip32’)
var ethUtil = require(“ethereumjs-util”);
// var store = require(’…/…/src/store’);
import store from ‘…/…/src/store/index.js’;
// console.log(store)
var mnemonic = bip39.generateMnemonic()
// 存到localStorage中单词
var mnemonicArr = mnemonic.replace(/\s+/g, ‘,’).split(’,’);

store.commit(‘getWords’, mnemonicArr)

sessionStorage.setItem(‘mnemonic’, JSON.stringify(mnemonicArr))
// console.log(“助记词:” + mnemonic)

var seedHex = bip39.mnemonicToSeedHex(mnemonic);
// console.log(seedHex);
var seed = bip39.mnemonicToSeed(mnemonic)
// console.log(seed)
var seedAsHex = seed.toString(‘hex’);

// 存到localStorage中bip39种子
// localStorage.setItem(‘seed’, JSON.stringify(seedAsHex))

sessionStorage.setItem(‘seed’, JSON.stringify(seedAsHex))
// console.log(“种子:” + seedAsHex);

var masterKey = bitcoin.HDNode.fromSeedHex(seed, bitcoin.networks.bitcoin)
// console.log(“BTC”);
// 存到localStorage中bip39种子
sessionStorage.setItem(‘masterKey’, JSON.stringify(masterKey.toBase58()))
// localStorage.setItem(‘masterKey’, JSON.stringify(masterKey.toBase58()))
// console.log(“root Key:” + masterKey.toBase58())

var bip32ExtendedKey = masterKey.derivePath(“m/44’/0’/0’/0”);
// console.log(“btc:BIP32 Extended Private Key:” + bip32ExtendedKey.toBase58())

var key = bip32ExtendedKey.derive(0);
// console.log(key);
var keyPair = key.keyPair;
// console.log(keyPair);
var address = keyPair.getAddress().toString();
// 存到localStorage中btc公钥还有密钥
// localStorage.setItem(‘BTCaddress’, JSON.stringify(address))
// console.log(“btc地址:” + address);
var privkey = keyPair.toWIF();
// 存到localStorage中btc私钥
// localStorage.setItem(‘privBTC’, JSON.stringify(privkey))
// console.log(“btc私钥:” + privkey);
var pubkey = keyPair.getPublicKeyBuffer().toString(‘hex’);
// localStorage.setItem(‘publBTC’, JSON.stringify(pubkey))
// console.log(“btc公钥:” + pubkey);

sessionStorage.setItem(‘BTCaddress’, JSON.stringify(address))
sessionStorage.setItem(‘privBTC’, JSON.stringify(privkey))
sessionStorage.setItem(‘publBTC’, JSON.stringify(pubkey))

var bip32ExtendedKey = masterKey.derivePath(“m/44’/60’/0’/0”);
// console.log(“ETH:BIP32 Extended Private Key:” + bip32ExtendedKey.toBase58())
key = bip32ExtendedKey.derive(0);

// console.log(key);

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);
// eth的公钥私钥 地址

sessionStorage.setItem(‘ETHaddress’, JSON.stringify(address))
sessionStorage.setItem(‘publETH’, JSON.stringify(privkey))
sessionStorage.setItem(‘privETH’, JSON.stringify(pubkey))

// localStorage.setItem(‘ETHaddress’, JSON.stringify(address))
// localStorage.setItem(‘publETH’, JSON.stringify(privkey))
// localStorage.setItem(‘privETH’, JSON.stringify(pubkey))
//
// console.log(“ETh地址:” + address);
// console.log(“ETh私钥:” + privkey);
// console.log(“ETh公钥:” + pubkey);

猜你喜欢

转载自blog.csdn.net/qq_39603448/article/details/86308581
今日推荐