I’m attempting to spend a P2WSH output. Listed below are the steps I’ve taken:
- 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 as well view it right here: https://blockstream.data/testnet/tx/3010534df31914f938014d34d0bd402ce1a741a46624b28abcfd2462126331a5?increase
- So as 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
- 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