以太坊开发:如何在私有链获取账号的私钥

搭建过私链的朋友应该知道,通过geth生成账号地址后,会在你的私链存储位置生成keystore文件。

那如何获取你的账户地址对应的私钥呢?

使用keythereum库

keythereum 是以太坊提供的用于生成、导入和导出key的js库。
https://github.com/ethereumjs/keythereum

安装很简单:

npm install keythereum

调用importFromFile和recover方法得到私钥:


function getPrivateKey(){
        var keythereum = require('keythereum');
        var fromkey = keythereum.importFromFile("账户地址", "私链datadir所在位置");
        //recover输出为buffer类型的私钥
        var privateKey = keythereum.recover('该账户的密码', fromkey);
        console.log(privateKey.toString('hex'));

}

需要注意的是importFromFile方法只能在nodejs中调用,不能浏览器中调用,通过查看源码可以看到该判断:

以太坊开发:如何在私有链获取账号的私钥_第1张图片

你可能感兴趣的:(以太坊开发:如何在私有链获取账号的私钥)