通过代码生成以太坊助记词、根据钱包地址获取私钥
生活随笔
收集整理的這篇文章主要介紹了
通过代码生成以太坊助记词、根据钱包地址获取私钥
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
? ? ?生成助記詞、公私鑰
?新建一個目錄
? ? ? ? ? ? ? ? 在目錄下執(zhí)行 npm init? (需安裝nodejs)nodejs中文官網(wǎng)?
? ? ? ?安裝依賴 (沒有yarn的需要安裝,直接執(zhí)行 npm install -g yarn)
? ? ? ? ? ? ? ? ? ? ? ? yarn add bip39 ethereum-hdwallet
在目錄下新建js文件 將下面內(nèi)容復(fù)制到j(luò)s文件中
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); // 地址路徑的最后一位設(shè)置為循環(huán)變量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); //執(zhí)行函數(shù)在當(dāng)前目錄下執(zhí)行 node js文件名稱
會生成一個英文助記詞和10個地址及公私鑰
根據(jù)錢包地址及密碼獲取私鑰
? ? 新建目錄
? ??使用命令窗口對當(dāng)前目錄執(zhí)行 npm init 初始化項目
??
?
在當(dāng)前目錄新建js文件 將以下代碼復(fù)制進去
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'));執(zhí)行 node ?js文件名稱
就會輸出私鑰?
總結(jié)
以上是生活随笔為你收集整理的通过代码生成以太坊助记词、根据钱包地址获取私钥的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux系统分辨率文件,linux系统
- 下一篇: java版我的世界地图大小_我的世界:6