通过代码生成以太坊助记词,私钥,公钥

Posted smlie,淡忘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过代码生成以太坊助记词,私钥,公钥相关的知识,希望对你有一定的参考价值。

        新建一个目录

                在目录下执行 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文件名称

 

以上是关于通过代码生成以太坊助记词,私钥,公钥的主要内容,如果未能解决你的问题,请参考以下文章

以太坊BIP39助记词到公钥地址的原理与细节

区块链钱包之生成助记词

区块链钱包之生成助记词

区块链钱包之生成助记词

如何开发一款以太坊(安卓)钱包系列1 - 通过助记词创建账号

如果我知道地址和私钥,如何在 web3 中导入以太坊帐户?