先从node官网下载node安装包
安装完成后用node自带的npm(node package manger)下载两个依赖: 椭圆加密算法包,keccak哈希包
npm install secp256k1 npm install keccaknode脚本
//引入包
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一致