0

I am trying to retrieve some money from my script which has been signed by three public keys. My final goal is

  • Retrieve the unspent from the script by P2WSH Transaction

BUT every time I am Geeting witnessScript does not match scriptPubKey error or ended up creating a P2SH type transaction.

(Public key/private key)

03465618e4ebf897d966f4a8b72ca52d0ddc485b5b7eba6d40c12cec94a3858fbd/cSK8ezfkcgKbpBbVSb7NP8R3ppGMddqVv8U32z9cLSrK6e44B6Fx

032ecb7661bb23c0d6800fcb9e642d7a737667aee75876f90a401f898abf83e00e/cV5mZWixR81MRxoKaH66NWLDTaA6XeaQ2fbzxz11VqwxcFzNUzjV

02f36cc5b31c5af5b1d87c589be194976980330aa2a1df65e02f20748456d6b6f0

Don't have the 3rd one private key. All TestNet info. Here -

  • bc - blockchain-cli
  • $pubkey1, $pubkey2, $pubkey3 - is the three public key variables
bc -named createmultisig nrequired=2 keys='''["'$pubkey1'","'$pubkey2'","'$pubkey3'"]'''
{
  "address": "2MsFQfjs9PmkxoAAqw7NzvnkpFRGLPEwtyo",
  "redeemScript": "522103465618e4ebf897d966f4a8b72ca52d0ddc485b5b7eba6d40c12cec94a3858fbd21032ecb7661bb23c0d6800fcb9e642d7a737667aee75876f90a401f898abf83e00e2102f36cc5b31c5af5b1d87c589be194976980330aa2a1df65e02f20748456d6b6f053ae",
  "descriptor": "sh(multi(2,03465618e4ebf897d966f4a8b72ca52d0ddc485b5b7eba6d40c12cec94a3858fbd,032ecb7661bb23c0d6800fcb9e642d7a737667aee75876f90a401f898abf83e00e,02f36cc5b31c5af5b1d87c589be194976980330aa2a1df65e02f20748456d6b6f0))#06tx67pl"
}

I have Send some money to the script address - 2MsFQfjs9PmkxoAAqw7NzvnkpFRGLPEwtyo with transaction id - 22ea33232f9524d546382764b1ac8f5206ddd9459572dec38cf97fb99ab0557b

Transaction details

bc -named gettransaction txid=22ea33232f9524d546382764b1ac8f5206ddd9459572dec38cf97fb99ab0557b verbose=true
{
  "amount": -0.00050000,
  "fee": -0.00019811,
  "confirmations": 4,
  "blockhash": "00000000000ad6771f629d367cd4569646e9cb67f42b00f1b51aa03686ac8744",
  "blockheight": 2349864,
  "blockindex": 10,
  "blocktime": 1665253069,
  "txid": "22ea33232f9524d546382764b1ac8f5206ddd9459572dec38cf97fb99ab0557b",
  "walletconflicts": [
  ],
  "time": 1665252286,
  "timereceived": 1665252286,
  "bip125-replaceable": "no",
  "details": [
    {
      "involvesWatchonly": true,
      "address": "2MsFQfjs9PmkxoAAqw7NzvnkpFRGLPEwtyo",
      "category": "send",
      "amount": -0.00050000,
      "label": "",
      "vout": 0,
      "fee": -0.00019811,
      "abandoned": false
    },
    {
      "address": "tb1qzagfwhcwwk5zn87ls7vxqldch5sklj4ze2fue4",
      "category": "send",
      "amount": -0.01000000,
      "label": "",
      "vout": 1,
      "fee": -0.00019811,
      "abandoned": false
    },
    {
      "address": "tb1qzagfwhcwwk5zn87ls7vxqldch5sklj4ze2fue4",
      "category": "receive",
      "amount": 0.01000000,
      "label": "",
      "vout": 1
    }
  ],
  "hex": "020000000001013164d3472e6dd3f7d191b15a123c2da5046ac61c4bae90f29e86190aeafeb2370000000000ffffffff0250c300000000000017a9140008ea5a89a3ae133e2828b3c31603a08cd11e368740420f00000000001600141750975f0e75a8299fdf8798607db8bd216fcaa202473044022007f697ee913050b9e6294bd19487b5636ec12b400cccdd26d75f1a02703496530220706ab6b55c725fbcedded47f3dee01596e40b680e57230e15bb978ffa80e34af012103465618e4ebf897d966f4a8b72ca52d0ddc485b5b7eba6d40c12cec94a3858fbd00000000",
  "decoded": {
    "txid": "22ea33232f9524d546382764b1ac8f5206ddd9459572dec38cf97fb99ab0557b",
    "hash": "eaae2a4ecc31e7dc0dc14b637b1683c1d0086bf36fca0ecef3220ec5d69038a2",
    "version": 2,
    "size": 223,
    "vsize": 142,
    "weight": 565,
    "locktime": 0,
    "vin": [
      {
        "txid": "37b2feea0a19869ef290ae4b1cc66a04a52d3c125ab191d1f7d36d2e47d36431",
        "vout": 0,
        "scriptSig": {
          "asm": "",
          "hex": ""
        },
        "txinwitness": [
          "3044022007f697ee913050b9e6294bd19487b5636ec12b400cccdd26d75f1a02703496530220706ab6b55c725fbcedded47f3dee01596e40b680e57230e15bb978ffa80e34af01",
          "03465618e4ebf897d966f4a8b72ca52d0ddc485b5b7eba6d40c12cec94a3858fbd"
        ],
        "sequence": 4294967295
      }
    ],
    "vout": [
      {
        "value": 0.00050000,
        "n": 0,
        "scriptPubKey": {
          "asm": "OP_HASH160 0008ea5a89a3ae133e2828b3c31603a08cd11e36 OP_EQUAL",
          "hex": "a9140008ea5a89a3ae133e2828b3c31603a08cd11e3687",
          "reqSigs": 1,
          "type": "scripthash",
          "addresses": [
            "2MsFQfjs9PmkxoAAqw7NzvnkpFRGLPEwtyo"
          ]
        }
      },
      {
        "value": 0.01000000,
        "n": 1,
        "scriptPubKey": {
          "asm": "0 1750975f0e75a8299fdf8798607db8bd216fcaa2",
          "hex": "00141750975f0e75a8299fdf8798607db8bd216fcaa2",
          "reqSigs": 1,
          "type": "witness_v0_keyhash",
          "addresses": [
            "tb1qzagfwhcwwk5zn87ls7vxqldch5sklj4ze2fue4"
          ]
        }
      }
    ]
  }
}

My insertion is to send some value the script 2MsFQfjs9PmkxoAAqw7NzvnkpFRGLPEwtyo to address tb1qzagfwhcwwk5zn87ls7vxqldch5sklj4ze2fue4. And the documentation I am following is this - Bitcoin-CLI.

So, the first step -

rawtxhex_script=$(bc -named createrawtransaction inputs='''[ { "txid": "22ea33232f9524d546382764b1ac8f5206ddd9459572dec38cf97fb99ab0557b", "vout": 0 } ]''' outputs='''{ "tb1qzagfwhcwwk5zn87ls7vxqldch5sklj4ze2fue4": 0.00040000 }''')

And the second step -

bc decodescript 522103465618e4ebf897d966f4a8b72ca52d0ddc485b5b7eba6d40c12cec94a3858fbd21032ecb7661bb23c0d6800fcb9e642d7a737667aee75876f90a401f898abf83e00e2102f36cc5b31c5af5b1d87c589be194976980330aa2a1df65e02f20748456d6b6f053ae
{
  "asm": "2 03465618e4ebf897d966f4a8b72ca52d0ddc485b5b7eba6d40c12cec94a3858fbd 032ecb7661bb23c0d6800fcb9e642d7a737667aee75876f90a401f898abf83e00e 02f36cc5b31c5af5b1d87c589be194976980330aa2a1df65e02f20748456d6b6f0 3 OP_CHECKMULTISIG",
  "reqSigs": 2,
  "type": "multisig",
  "addresses": [
    "mheEP3hjfyC4vHDKGuuKKRrnAqY8PThM5m",
    "mfWypaqH23EDk2fNHEndgJzMRG4BP5eYKq",
    "n4SUise83hJGrzhYdbtkFFN7efcG3vXSvF"
  ],
  "p2sh": "2MsFQfjs9PmkxoAAqw7NzvnkpFRGLPEwtyo",
  "segwit": {
    "asm": "0 d40547b824433dcde19529821b9a752d05cfc6497fe26a816fc45143e7e20ab1",
    "hex": "0020d40547b824433dcde19529821b9a752d05cfc6497fe26a816fc45143e7e20ab1",
    "reqSigs": 1,
    "type": "witness_v0_scripthash",
    "addresses": [
      "tb1q6sz50wpygv7umcv49xpphxn495zul3jf0l3x4qt0c3g58elzp2cs8qkznq"
    ],
    "p2sh-segwit": "2NBF5pr9sv68WGuVcKbHqQQJ6pbAxPdCXzz"
  }
}

I am using the hax from the above command as redeemScript in my final step

And the final step -

bc -named signrawtransactionwithkey hexstring=$rawtxhex_script prevtxs='''[ { "txid": "22ea33232f9524d546382764b1ac8f5206ddd9459572dec38cf97fb99ab0557b", "vout": 0, "scriptPubKey": "a9140008ea5a89a3ae133e2828b3c31603a08cd11e3687", "redeemScript": "0020d40547b824433dcde19529821b9a752d05cfc6497fe26a816fc45143e7e20ab1", "witnessscript": "522103465618e4ebf897d966f4a8b72ca52d0ddc485b5b7eba6d40c12cec94a3858fbd21032ecb7661bb23c0d6800fcb9e642d7a737667aee75876f90a401f898abf83e00e2102f36cc5b31c5af5b1d87c589be194976980330aa2a1df65e02f20748456d6b6f053ae" } ]''' privkeys='["cSK8ezfkcgKbpBbVSb7NP8R3ppGMddqVv8U32z9cLSrK6e44B6Fx", "cV5mZWixR81MRxoKaH66NWLDTaA6XeaQ2fbzxz11VqwxcFzNUzjV"]'

From the command I am Geeting -

error code: -8
error message:
redeemScript/witnessScript does not match scriptPubKey

By removing the witnessscript variable from my final command and using the redeemScript value in redeemScript variable, I though can successfully create a P2SH transaction but that what I don't want, I need a P2WSH type transaction

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.