UNPKG

block-address

Version:

create block chain address , such as ltc, btc, eth ....and so on

60 lines (54 loc) 1.35 kB
const ethUtils = require('ethereumjs-util'); const ci = require('coininfo'); const ck = require('coinkey'); const cs = require('coinstring'); const coins = [ "BLK", "BTC", "DASH", "DCR", "DOGE", "LTC", "MONA", "NBT", "NMC", "PPC", "RDD", "ETH" ]; const mainCoins = [ "BTC", "ETH", "MOER", "LTC", "DASH" ]; module.exports.coins = coins; module.exports.mainCoins = mainCoins; module.exports.createPrivateKey = function () { return ck.createRandom() }; module.exports.createAddressByPrivateKey = function (coin, privateKey) { if (coins.indexOf(coin) === -1) { return null; } if ('ETH' === coin) { return { coin: coin, privateKey: privateKey, address: ethUtils.bufferToHex(ethUtils.privateToAddress(new Buffer(privateKey, 'hex'))) } } const oCoin = ci(coin); const versions = oCoin.versions; const key = new ck(new Buffer(privateKey, 'hex'), versions); const pkey = cs.encode(new Buffer(privateKey, 'hex'), versions.private); key.compressed = true; const wif = key.privateWif; const coinKey = ck.fromWif(wif); return { privateKey: pkey, coin: coin, address: coinKey.publicAddress } };