主页 > imtoken钱包可以存哪些币 > 通过代码生成以太坊助记词,根据钱包地址获取私钥

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

imtoken钱包可以存哪些币 2023-03-17 05:36:34

生成助记词、公钥和私钥

创建一个新目录

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

安装依赖(无需安装yarn以太坊助记词私钥,直接执行npm install -g yarn)

yarn 添加 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文件名

以太坊助记词私钥_sitehqz.com 以太坊和以太坊贸易的关系_以太坊私钥未加密

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

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

新目录

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

以太坊私钥未加密_sitehqz.com 以太坊和以太坊贸易的关系_以太坊助记词私钥

在当前目录新建一个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'));

执行节点js文件名

以太坊助记词私钥_以太坊私钥未加密_sitehqz.com 以太坊和以太坊贸易的关系

将输出私钥