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);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章