eth usdt生成地址
eth格式的usdt地址生成,usdt私钥还原地址。
var bip39 = require('bip39')
var ew = require('ethereumjs-wallet')
var util = require('ethereumjs-util')
var Tx = require('ethereumjs-tx').Transaction;
console.log('tx',Tx)
let hdkey = ew.hdkey;
// 生成助记词
var mnemonic = bip39.generateMnemonic();
console.log('mnemonic:', mnemonic);
// 生成 HD Wallet 首先将 mnemonic code 转成 binary二进制的 seed
var seed = bip39.mnemonicToSeedSync(mnemonic);
// 生成 Master Key 地址 "m/44'/60'/0'/0" 使用 seed 生成 HD Wallet。
var hdwallet = hdkey.fromMasterSeed(seed);
// 从路径 m/44'/60'/0'/0 导入 Master Key 并生成 Wallet 中第一个帐户的第一组 keypair
var key1 = hdwallet.derivePath("m/44'/60'/0'/0");
let pk = util.bufferToHex(key1._hdkey._privateKey)
console.log("私钥:"+util.bufferToHex(key1._hdkey._privateKey));
// 使用 keypair 中的公钥产生 address
var genaddress = util.pubToAddress(key1._hdkey._publicKey, true);
// 获得以太坊钱包地址
// var newUsdtAddress = util.toChecksumAddress('0x' + genaddress.toString('hex'));
var newUsdtAddress = util.bufferToHex(genaddress);
console.log('newUsdtAddress', newUsdtAddress);
var address1 = util.pubToAddress(key1._hdkey._publicKey, true);
// 地址util.bufferToHex(address1)
// 私钥还原地址
pk = pk.slice(2)
let privateKey = 'd9af7723604fddba3be1fb879ad8d8cc80300edfe1ce4a9b10c06f35488f4dbf'
let publicKey = util.privateToPublic(new Buffer.from(pk, 'hex'));
let addr ="0x"+ util.publicToAddress(publicKey).toString('hex');
console.log('key addr2:',addr);