Transactions - Champ témoin manquant dans p2wpkh décodé tx hex

J'ai placé un hex d'émission brut, mais lorsqu'il ne peut pas être diffusé, je reçois toujours une erreur ci-dessous.

Erreur RPC sendrawtransaction : {"code":-25,"message":"bad-txns-inputs-missingorspent"}

J'ai ensuite décodé l'hexagone tx en utilisant https://live.blockcypher.com/btc/decodetx/ pour voir qu'il me semble qu'il me manque le champ Témoin car j'utilise des adresses segwit natives :

{ "adresses": [
"bc1qj3rjxzhlqm6fqesd5fwphjnf457zkww3s5qrv5",
"bc1qjp3cch0hdvdr0hy99cs76kl9kekmuxv3k9nr6l"
]"block_height": -1, "block_index": -1, "confirmations": 0, "double_spend": false, "fees": 200, "hash": "88420211f5ea53174fc6a708c00ca2e840d687591573d0ecd2464fae20d139a7", "inputs": [
{
"addresses": [
"bc1qj3rjxzhlqm6fqesd5fwphjnf457zkww3s5qrv5"
]"âge": 696993, "output_index": 0, "output_value": 60200, "prev_hash": "74e24a2d50ba64abc099126c1c208b5f7156e3ad515b86f3edcca3f3d4291f66", "script": "4730440220516e15b 6354f17e3f02711107624005e6ccd26cf61ef21b35e91315dfbd33e9f022049dadb73ca3e814de9da0b35ff20a8ca82147dda138ede948ccac5621a5bc1bb01210384485d43e 938f8c68c4ac903d4d5a97fe842f66c12b860d8d2e1242d2b01fc1f", "script_type": "pay-to-witness-pubkey-hash", "séquence": 4294967295 } ], "sorties": [
{
"addresses": [
"bc1qjp3cch0hdvdr0hy99cs76kl9kekmuxv3k9nr6l"
]"script": "001490638c5df76b1a37dc852e21ed5be5b66dbe1991", "script_type": "pay-to-witness-pubkey-hash", "value": 60000 } ], "preference": "low", "received": "2021-09- 05T10:17:14.395062568Z", "relayed_by": "3.82.154.159", "size": 188, "total": 60000, "ver": 2, "vin_sz": 1, "vout_sz": 1, "vsize " : 188 }

J'ai alors pensé que je n'avais peut-être pas ajouté de scriptPubKey dans addInput mais ce code ne semblait pas fonctionner pour moi :

const fetch = require("node-fetch") const bitcoin = require("bitcoinjs-lib") const url = "https://blockchain.info/rawaddr/" let MAINNET = bitcoin.networks.bitcoin pubAdd = "bc1qj3rjxzhlqm6fqesd5fwphjnf457zkww3s5qrv5" let txb = new bitcoin.TransactionBuilder(MAINNET) var txid = null var outn = 0 var transactionhex = "" async function getPubAddInfo() { const réponse = wait fetch(url + pubAdd) const data = wait réponse.json() txid = données["txs"]["hash"]

sortie = données["txs"]["out"]["n"]

} fonction asynchrone getTXHash() { wait getPubAddInfo() let WIF = "xxxxxxxxxxxx" let keypairSpend = bitcoin.ECPair.fromWIF(WIF, MAINNET) var scriptPubkey = bitcoin.script.witnessPubKeyHash.output.encode(bitcoin.crypto.hash160(keypairSpend .getPublicKeyBuffer())) txb.addInput(txid, outn, null, scriptPubkey) txb.addOutput("bc1qjp3cch0hdvdr0hy99cs76kl9kekmuxv3k9nr6l", 60000) txb.sign(0, keypairSpend, null, null, 60200) let tx = txb.build() transactionhex = tx.toHex() console.log(transactionhex) } getTXHash()

Pour le moment, j'obtiens l'erreur TypeError : Impossible de lire la propriété 'output' de undefined sur la ligne où je crée var scriptPubKey.

Des suggestions sur la façon dont je peux ajouter le champ Témoin dans la transmission ? Est-ce parce que j'ajoute incorrectement le scriptPubKey ? J'utilise BitcoinJS 5.2.0