来自ETH源码,手动生成以太坊钱包,ERC20标准钱包(nodejs实现)

先从node官网下载node安装包

安装完成后用node自带的npm(node package manger)下载两个依赖: 椭圆加密算法包,keccak哈希包

npm install secp256k1 
npm install keccak
node脚本

//引入包
const secp256k1 = require("secp256k1/elliptic")
const createKeccakHash =  require("keccak")
const crypto = require('crypto')

// 生成私钥
const privateKey = crypto.randomBytes(32)
// 生成公钥
const publicKey = secp256k1.publicKeyCreate(privateKey, false).slice(1)
// 生成地址
const address = createKeccakHash("keccak256").update(publicKey).digest().slice(-20)

// 查看结果
console.log('私钥:%s',  privateKey.toString('hex'));
console.log('钱包地址:%s',  address.toString('hex'));
运行

node app.js
得到结果如下:

以上代码在 Imtoken钱包 导入成功, 并能够正常使用,即 核对导入后的钱包address与 脚本生成的address一致

评论 (0)