Sunday, December 22, 2024

bitcoind – P2WSH Bitcoin Core Witness Script Empty Error

I’m making an attempt to spend a P2WSH output. Listed here are the steps I’ve taken:

  1. I’ve created a P2WSH output by way of bitcoin-cli. These are the small print of the P2WSH output:
Sort
V0_P2WSH
scriptPubKey (asm)
OP_0 OP_PUSHBYTES_32 a2b95877500eb4180401640c5649c55ce578584f865e4f1609f9971ca19d6f40
scriptPubKey (hex)
0020a2b95877500eb4180401640c5649c55ce578584f865e4f1609f9971ca19d6f40
Spending tx
Unspent

You may also view it right here: https://blockstream.information/testnet/tx/3010534df31914f938014d34d0bd402ce1a741a46624b28abcfd2462126331a5?broaden

  1. With a view to spend that output, I’m first making a transaction by way of bitcoin-cli as such:
bitcoin-cli createrawtransaction [{"txid":"3010534df31914f938014d34d0bd402ce1a741a46624b28abcfd2462126331a5","vout":0}] [{"tb1q77vr56qx6y5vs2zzt9qc85ge62j30r6vaccfxl":0.0000007}]

This outputs the next serialization:

0200000001a53163126224fdbc8ab22466a441a7e12c40bdd0344d0138f91419f34d5310300000000000fdffffff014600000000000000160014f7983a6806d128c82842594183d119d2a5178f4c00000000
  1. I now attempt to signal the message
bitcoin-cli signrawtransactionwithwallet "0200000001a53163126224fdbc8ab22466a441a7e12c40bdd0344d0138f91419f34d5310300000000000fdffffff014600000000000000160014f7983a6806d128c82842594183d119d2a5178f4c00000000" [{"txid":"3010534df31914f938014d34d0bd402ce1a741a46624b28abcfd2462126331a5","vout":0,"scriptPubKey":"0020a2b95877500eb4180401640c5649c55ce578584f865e4f1609f9971ca19d6f40","witnessScript":"4c02efef754c14f7983a6806d128c82842594183d119d2a5178f4cac","amount":0.0000007}]

This doesn’t work nevertheless, as I at all times get the next error:

{
  "hex": "0200000001a53163126224fdbc8ab22466a441a7e12c40bdd0344d0138f91419f34d5310300000000000fdffffff014600000000000000160014f7983a6806d128c82842594183d119d2a5178f4c00000000",
  "full": false,
  "errors": [
    {
      "txid": "3010534df31914f938014d34d0bd402ce1a741a46624b28abcfd2462126331a5",
      "vout": 0,
      "witness": [
      ],
      "scriptSig": "",
      "sequence": 4294967293,
      "error": "Witness program was handed an empty witness"
    }
  ]
}

I don’t perceive why I obtain a Witness program was handed an empty witness error, as I’m explicitly passing a witness script within the command line. Is there a bug or what am I lacking?

The witness script that was hashed is
OP_PUSHDATA1 EFEF OP_DROP OP_PUSHDATA1 f7983a6806d128c82842594183d119d2a5178f4c OP_CHECKSIG
which serializes to
4c02EFEF754c14f7983a6806d128c82842594183d119d2a5178f4cac

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles