transactions – What is the distinction between decoderawtransaction and decodescript?

on

|

views

and

comments


The Bitcoin protocol has its personal serialization format for transactions, blocks, scripts and many others. These codecs optimize for area, which suggests they are not significantly human-readable, so there are bitcoin-cli instructions that can be utilized to decode them right into a extra human-readable kind.

Think about the transaction 60267bfd9494e1a6a5218184c36bf4c97adccbbde40487a2f92fcfffc10d0500. Right here is its serialization in hexadecimal:

010000000001018154f1677366e5799f61646e5cea1ea13ef23c0bd3ba4cc845dcdc3f061c47570100000000ffffffff01035a28000000000016001486918c31af903a4c7ed2dc8191156c0ef44a11b40141f33812c31e4c1ae9a46c55e1463121d42c1c5cd64afc86fe94d2a126b2e515823954b079e11bf1251aa9d585cf4a83a0473634f1c22891249dacf9f93c976ff40100000000

Whenever you feed this into decoderawtransaction, you get this:

{
  "txid": "60267bfd9494e1a6a5218184c36bf4c97adccbbde40487a2f92fcfffc10d0500",
  "hash": "9aab2076ba5b8f2656d1a2b9f9928c6cb6a4d6f607ef88589ea6b6e842f3f320",
  "model": 1,
  "dimension": 151,
  "vsize": 100,
  "weight": 397,
  "locktime": 0,
  "vin": [
    {
      "txid": "57471c063fdcdc45c84cbad30b3cf23ea11eea5c6e64619f79e5667367f15481",
      "vout": 1,
      "scriptSig": {
        "asm": "",
        "hex": ""
      },
      "txinwitness": [
        "f33812c31e4c1ae9a46c55e1463121d42c1c5cd64afc86fe94d2a126b2e515823954b079e11bf1251aa9d585cf4a83a0473634f1c22891249dacf9f93c976ff401"
      ],
      "sequence": 4294967295
    }
  ],
  "vout": [
    {
      "value": 0.02644483,
      "n": 0,
      "scriptPubKey": {
        "asm": "0 86918c31af903a4c7ed2dc8191156c0ef44a11b4",
        "desc": "addr(bc1qs6gccvd0jqayclkjmjqez9tvpm6y5yd5azp9qs)#h6rkqret",
        "hex": "001486918c31af903a4c7ed2dc8191156c0ef44a11b4",
        "address": "bc1qs6gccvd0jqayclkjmjqez9tvpm6y5yd5azp9qs",
        "type": "witness_v0_keyhash"
      }
    }
  ]
}

Amongst many different issues, this additionally decodes the transaction’s output scripts (beneath scriptPubKey). Nonetheless, you probably have a serialized script outdoors the context of a transaction, which on this case can be 001486918c31af903a4c7ed2dc8191156c0ef44a11b4, you should use decodescript on it:

{
  "asm": "0 86918c31af903a4c7ed2dc8191156c0ef44a11b4",
  "desc": "addr(bc1qs6gccvd0jqayclkjmjqez9tvpm6y5yd5azp9qs)#h6rkqret",
  "tackle": "bc1qs6gccvd0jqayclkjmjqez9tvpm6y5yd5azp9qs",
  "sort": "witness_v0_keyhash",
  "p2sh": "3Np3NnSFbrdMjRi9ECcnoWCfHBPVVHe5iw"
}

Moreover, there are scripts that decoderawtransaction will not decode, for instance redeem scripts in witnesses of P2WSH inputs.

Take transaction b4bb98f79c50ef7fe74fb9fac705e3952650161477bd82b2687c953b71a44594 which spends one P2WSH enter with a 2-of-3 multisignature script. The serialized script can be given by decoderawtransaction because the final merchandise of txinwitness:

5221020fc49e0380f0ba7d849609e746e36557d1ad457cb88888a73fdbd9a7d7ab3b6a210211bcd0fc487c5ed1c60adb5379c9b078874b4e525a4df2c27540c9db856760082102e8033bc9956afcd3abba9cfe0817ab16c5ec84e2f8edc1da4373bac54dacf57253ae

Decoded by decodescript as:

{
  "asm": "2 020fc49e0380f0ba7d849609e746e36557d1ad457cb88888a73fdbd9a7d7ab3b6a 0211bcd0fc487c5ed1c60adb5379c9b078874b4e525a4df2c27540c9db85676008 02e8033bc9956afcd3abba9cfe0817ab16c5ec84e2f8edc1da4373bac54dacf572 3 OP_CHECKMULTISIG",
  "desc": "multi(2,020fc49e0380f0ba7d849609e746e36557d1ad457cb88888a73fdbd9a7d7ab3b6a,0211bcd0fc487c5ed1c60adb5379c9b078874b4e525a4df2c27540c9db85676008,02e8033bc9956afcd3abba9cfe0817ab16c5ec84e2f8edc1da4373bac54dacf572)#d63cpu6r",
  "sort": "multisig",
  "p2sh": "37CYRhHBjdgoTC7KQpUuTH3zAcm9akWqAd",
  "segwit": {
    "asm": "0 ec21a1b4e8cdaa89737895168ead0c3210fc2d1c6bf9805e45a475f714c75140",
    "desc": "addr(bc1qass6rd8gek4gjumcj5tgatgvxgg0ctgud0ucqhj9536lw9x829qqpnu64e)#2wsw9unx",
    "hex": "0020ec21a1b4e8cdaa89737895168ead0c3210fc2d1c6bf9805e45a475f714c75140",
    "tackle": "bc1qass6rd8gek4gjumcj5tgatgvxgg0ctgud0ucqhj9536lw9x829qqpnu64e",
    "sort": "witness_v0_scripthash",
    "p2sh-segwit": "3PCgTmZsCjK6KHJeEHJ7iCjVPqb3ygf5jF"
  }
}

Share this
Tags

Must-read

Waymo raises $16bn to gas international robotaxi enlargement | Know-how

Self-driving automobile firm Waymo on Monday stated it raised $16bn in a funding spherical that valued the Alphabet subsidiary at $126bn.Waymo co-chief executives...

Self-driving taxis are coming to London – ought to we be anxious? | Jack Stilgoe

At the top of the nineteenth century, the world’s main cities had an issue. The streets had been flooded with manure, the unintended...

US regulators open inquiry into Waymo self-driving automobile that struck youngster in California | Expertise

The US’s federal transportation regulator stated Thursday it had opened an investigation after a Waymo self-driving car struck a toddler close to an...

Recent articles

More like this

LEAVE A REPLY

Please enter your comment!
Please enter your name here