当前位置: 首页 > 工具软件 > BitcoinJS > 使用案例 >

如何使用bitcoinjs-lib@6.0.1生成私钥、公钥及地址

孟沛
2023-12-01

  目前网上很多生成区块链私钥、公钥等的代码都是基于bitcoinjs-lib@3版本实现的,现在bitcoinjs-lib已经更新到了@6.0.1版本。原先的代码已经不可用了。下面是基于bitcoinjs-lib@6.0.1的代码:

const bitcoin=require('bitcoinjs-lib');
const TestNet=bitcoin.networks.testnet;
const ecpair=require('ecpair');
const ecc=require('tiny-secp256k1');
const ECPair=ecpair.ECPairFactory(ecc);

let keyPair=ECPair.makeRandom({network:TestNet});

//16进制表示的私钥和公钥
var private_key=keyPair.privateKey.toString('hex');
var public_key=keyPair.publicKey.toString('hex');
console.log('pri_key = '+private_key);
console.log('pub_key = '+public_key);

//WIF编码
const wif=require('wif');
var encoded=wif.encode(0x80,Buffer.from(private_key,'hex'),false);
console.log('WIF编码 = '+encoded);

//利用公钥生成地址
const { address }=bitcoin.payments.p2pkh({pubkey:keyPair.publicKey});
console.log('address = '+address);

运行结果如下(这里是使用随机数生成的私钥,所以代码每次运行的结果都不一样):

pri_key = 2b80a47ed30802b733a5573201f26a6c5285bd78fa1f9978706e7f8f00971f51
pub_key = 02b7f35b0d82a37fa0dfff7139a4b3fab2a9e870ab1409a076529cfcc342aa6049
WIF编码 = 5J9So3m6eMZqgWKLjHe2AKUjc4sf4Mtum2ZYW83mo2vPcfcN8KA
address = 1GmHrm4BFQCEG834aohqweeb8zvfuN8iMx

 类似资料: