搭建過私鏈的朋友應該知道,通過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中調用,不能瀏覽器中調用,通過查看源碼可以看到該判斷: