geth 如何在私有链导出私钥
我们在私链上通过geth生成账号地址后,会在你的私链存储位置生成 keystore 文件。如何获取你的账户地址对应的私钥呢?
1. 安装 keythereum 库
keythereum 是以太坊提供的用于生成、导入和导出key的js库。
源码地址:https://github.com/ethereumjs/keythereum
安装方法:
npm install keythereum
2. 导出私钥
调用 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')); }
3. MetaMask导出私钥
导出私钥也可以使用 metamask 钱包导出。
先将对应 geth 节点的 keystore 中对应地址的 json 文件导入 metamask,创建一个账户。
然后利用 metamask 的私钥导出功能就可以得到结果。
1. 参数说明ETHEREUM选项: --config value TOML 配置文件 --datadir "/home/user4/.ethereum" 数据库和keystor ...