主页 > imtoken钱包苹果版下载官网 > 通过代码生成以太坊助记词,根据钱包地址获取私钥
通过代码生成以太坊助记词,根据钱包地址获取私钥
imtoken钱包苹果版下载官网 2023-02-28 06:39:48
生成助记词、公钥和私钥
创建一个新目录
在目录下执行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文件名
将生成一个英文助记词和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'));
执行节点js文件名
将输出私钥