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

  目前网上很多生成区块链私钥、公钥等的代码都是基于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

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值