主页 > 苹果商城可以直接下载imtoken吗 > 以太坊地址生成算法

以太坊地址生成算法

与比特币地址的生成相比,以太坊显然要简单得多

先看需要的依赖

var Crypto = require('crypto')
var secp256k1=require('secp256k1')
var createKeccakHash=require('keccak')

和比特币一样,一切都来自一个32字节的随机数(1~2^256-1)以太坊哪里买,但以太坊更坦诚,不对随机数做任何处理,而是直接把它当作私钥

var privateKey=Crypto.randomBytes(32);

地址也是先通过secp256k1椭圆曲线算法计算出来的(具体我不知道,但是模块里一行代码就可以搞定),然后进行keccak256哈希运算以太坊哪里买,然后取最后40位到得到


var pubKey=secp256k1.publicKeyCreate(privateKey,false).slice(1);
var address =createKeccakHash('keccak256').update(pubKey).digest().slice(-20);
console.log(privateKey.toString('hex'));
console.log(address.toString('hex'));