我有这样的代码:
var bitcoin = require('bitcoinjs-lib')
var testnet=bitcoin.networks.testnet;
var bitcoin = require('bitcoinjs-lib')
var privateKey = 'cV1hT8dqY6T3UnFjKk883N3nr895JeBVFjMMqi6VbPgDZyfVfzAF'
var keyPair = bitcoin.ECPair.fromWIF(privateKey, testnet);
const RawTransaction = new bitcoin.Psbt(testnet)
RawTransaction.addInput({hash:'9412f5e46f63a65ae140d36cbe6fe137e7f6b047759a8487a73abd5f25727bff', index:0})
RawTransaction.addOutput({address:'tb1q8selj8yz0yh79esajd77x3r6ea5q0vf8svjev4', value:0.00001})
RawTransaction.sign(0, keyPair)
var Transaction = RawTransaction.build().toHex();
console.log(Transaction)我有这个错误:
Error: tb1q8selj8yz0yh79esajd77x3r6ea5q0vf8svjev4 has an invalid prefix我不明白发生了什么。目的地地址是由电子钱包生成的,看起来是正确的。我正在使用testnet。
发布于 2020-08-04 18:00:43
下面是检查地址的code:
if (decodeBech32.prefix !== network.bech32)
throw new Error(address + ' has an invalid prefix');默认情况下,库使用mainnet网络,检查因testnet地址前缀而失败。
试试这个:
const RawTransaction = new bitcoin.Psbt({ network: testnet })https://stackoverflow.com/questions/63219936
复制相似问题