通过代码生成以太坊助记词、根据钱包地址获取私钥

     生成助记词、公私钥

 新建一个目录

                在目录下执行 npm init  (需安装nodejs)nodejs中文官网 

       安装依赖 (没有yarn的需要安装,直接执行 npm install -g yarn)

                        yarn add bip39 ethereum-hdwallet

在目录下新建js文件 将下面内容复制到js文件中

const bip39 = require('bip39')
const HDWallet = require('ethereum-hdwallet');
//生成英文助记词
const mnemonic = bip39.generateMnemonic();  
// const mnemonic = bip39.generateMnemonic(128, null, bip39.wordlists.chinese_simplified); //生成中文助记词

console.log('助记词:' + mnemonic); //生成助记词

async function getAddress(mnemonic) {

	const seed = await bip39.mnemonicToSeed(mnemonic); //生成种子

	const hdwallet = HDWallet.fromSeed(seed);

	for (var i = 0; i < 10; i++) { // 用同一个种子生成多个地址

		console.log('=============地址' + (i + 1) + '=================')

		const key = hdwallet.derive("m/44'/60'/0'/0/" + i); // 地址路径的最后一位设置为循环变量
		console.log("PrivateKey = " + key.getPrivateKey().toString('hex')); // 私钥
		console.log("PublicKey = " + key.getPublicKey().toString('hex')); // 公钥
		const EthAddress = '0x' + key.getAddress().toString('hex'); //地址
		console.log('ETH Address = ' + EthAddress);
	}
}

getAddress(mnemonic); //执行函数

在当前目录下执行 node js文件名称

会生成一个英文助记词和10个地址及公私钥

根据钱包地址及密码获取私钥

    新建目录

    使用命令窗口对当前目录执行 npm init 初始化项目

  

 

在当前目录新建js文件 将以下代码复制进去

var keythereum = require("keythereum");

var datadir = "D:/HbuilderX WorkScope/eth/data";  // 存放keystore文件的目录

var address= "0x8225a89bf5557c055991abe8270af09578d0a089"; //钱包地址 要小写

const password = "123456"; //密码

var keyObject = keythereum.importFromFile(address, datadir);

var privateKey = keythereum.recover(password, keyObject);

console.log(privateKey.toString('hex'));

执行 node  js文件名称

就会输出私钥 

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值