使用Node批量建立ETH錢包
技術/BlockChain
安裝Node
Download | Node.jsnode
初始化項目
mkdir ETHWalletGenerator
cd ETHWalletGenerator
npm init
配置ETH相關的環境
npm install secp256k1
npm install keccak
建立而且編輯ethGenerator.js
'use strict';
console.log('Generator Start..............');
const num = 5;
const secp256k1 = require("secp256k1/elliptic");
const createKeccakHash = require("keccak");
const crypto = require('crypto');
// 地址轉換
function toChecksumAddress(address) {
address = address.toLowerCase().replace('0x', '');
var hash = createKeccakHash('keccak256').update(address).digest('hex');
var ret = '0x';
for (var i = 0; i < address.length; i++) {
if (parseInt(hash[i], 16) >= 8) {
ret += address[i].toUpperCase();
} else {
ret += address[i];
}
}
return ret;
}算法
for (var i = 0; i < num; i++) {
// 生成私鑰
const privateKey = crypto.randomBytes(32);
// 生成公鑰
const publicKey = secp256k1.publicKeyCreate(privateKey, false).slice(1);
// 生成地址
const address = createKeccakHash("keccak256").update(publicKey).digest().slice(-20);
const normAddress = toChecksumAddress(address.toString('hex'));
// 查看結果
console.log(privateKey.toString('hex'));
console.log(normAddress);
}
批量生成
node ethGenerator.jsnpm
密碼:橢圓曲線加密算法
生成公鑰和私鑰dom