Node.js 如何从节点js中的公钥获取btc地址
我为我的英语道歉 如何将十六进制公钥从btc签名脚本解码为节点js中的字符串地址 例如,我有以下十六进制公钥:Node.js 如何从节点js中的公钥获取btc地址,node.js,bitcoin,ansi,Node.js,Bitcoin,Ansi,我为我的英语道歉 如何将十六进制公钥从btc签名脚本解码为节点js中的字符串地址 例如,我有以下十六进制公钥: 03745AAAF364030720B2D14DE50A3310EEF521C91E36353DCA208137135C005A 解码后,我应该得到相应的比特币地址 1GNxPczmxVM4RNGVGZ5SZXGL4L9CH6 关于解码btc事务的ScriptSig,存在以下问题: ... 21: OP_DATA_0x21: compressed pub key (33
03745AAAF364030720B2D14DE50A3310EEF521C91E36353DCA208137135C005A
解码后,我应该得到相应的比特币地址
<代码>1GNxPczmxVM4RNGVGZ5SZXGL4L9CH6
关于解码btc事务的ScriptSig,存在以下问题:
...
21: OP_DATA_0x21: compressed pub key (33 Bytes)
03745AAAF3640307:20B2D14DE50A3310:EEF521C91E36353D:CA20813713535C00:5A
This is MultiSig's compressed Public Key (X9.63 form)
corresponding bitcoin address is: 1GNXpcYzasmmXvM4rNgkvZ5SzXgL4L9Ch6
...
根据此问题,btc公钥采用ANSI X9.63格式编码
节点是否有办法解码ANSI X9.63格式?
多谢各位 我找到了答案。因为它可以使用bitcoinjs lib和支付模块:
var bitcoin = require('bitcoinjs-lib');
const pubKey = "03745AAAF364030720B2D14DE50A3310EEF521C91E36353DCA20813713535C005A";
const { address } = bitcoin.payments.p2pkh({ pubkey: new Buffer(pubKey, 'hex') });
console.log(address); //1GNXpcYzasmmXvM4rNgkvZ5SzXgL4L9Ch6
必须在计算机上下载节点和npm npm安装bitcoinjs库 从您的节点终端下载bitcoinjs库
var bitcoin = require("bitcoinjs-lib")
需要bitcoinjs库
var keyPair = bitcoin.ECPair.makeRandom(); or var keyPair = "03745AAAF364030720B2D14DE50A3310EEF521C91E36353DCA20813713535C005A"
为键对创建变量
console.log(keyPair.getAddress());
通过将地址记录到控制台来测试地址。应返回有效的比特币地址
var address = keyPair.getAddress();
var pkey = keyPair.toWIF();
将比特币地址结果保存到变量
console.log(keyPair.toWif());
通过登录到控制台来测试私钥。应返回有效的比特币私钥
var address = keyPair.getAddress();
var pkey = keyPair.toWIF();
将比特币私钥结果保存到变量
console.log(keyPair.toWif());