bitcoin-cliコマンド【getrawtransaction】

2018-11-07

getrawtransaction “txid” ( verbose “blockhash” )

トランザクションの生データを返却する。

引数

① txid (string, required)

対象のトランザクションIDを指定する。

② verbose (bool, optional, default=false)

“false”の場合、16進数でエンコードされたシリアルデータが返却される。”true”の場合、Object形式のデータが返却される。

③ blockhash (string, optional)

トランザクションを探すブロックハッシュを指定する。

BitcoinCoreでヘルプを参照した際、注記に「デフォルトでは、この関数はmempoolトランザクションでのみ機能します。…」という記載があるが、その後「現在は、未使用トランザクションでも機能します。」という追記があるので、現在はデフォルトで mempool + UTXO に対して機能するということだろう。

ただし、-txindexオプションが有効になっていないノードでは、使用済トランザクションを指定した場合は機能しないと思われる。使用済トランザクションを検索する場合は、-txindexオプションを有効にするか、もしくは第3引数の “blockhash” を指定する必要があると思われる。(未確認)

実行例

verbose = false

$ bitcoin-cli getrawtransaction 0227fe04d2ba058856856fe3b764dcb31d27833025fb9d13819f9915eb58e464
010000000191691eb51b19c0d1826bc19cbfe1734e9d0d52d34dcf8a24c8303f7caa3e0626790000008b483045022100a792baaa169b4dcd9c7160bf40e9a0ecf2993e736a1c050a8da763946f2ddf1302202f859beccf21a259f667e9aca6b6c6de2d90f274ca9e4f9cca54f25557e2c171014104fcf07bb1222f7925f2b7cc15183a40443c578e62ea17100aa3b44ba66905c95d4980aec4cd2f6eb426d1b1ec45d76724f26901099416b9265b76ba67c8b0b73dffffffff0388080000000000001976a914fa0692278afe508514b5ffee8fe5e97732ce066988ac0000000000000000166a146f6d6e690000000000000003000000000000001d22020000000000001976a914b8b6f8f0db13c503f366e366b06c839816fd35fe88ac00000000

verbose = true


$ bitcoin-cli getrawtransaction 0227fe04d2ba058856856fe3b764dcb31d27833025fb9d13819f9915eb58e464 true
{
  "txid": "0227fe04d2ba058856856fe3b764dcb31d27833025fb9d13819f9915eb58e464",
  "hash": "0227fe04d2ba058856856fe3b764dcb31d27833025fb9d13819f9915eb58e464",
  "version": 1,
  "size": 289,
  "vsize": 289,
  "weight": 1156,
  "locktime": 0,
  "vin": [
    {
      "txid": "26063eaa7c3f30c8248acf4dd3520d9d4e73e1bf9cc16b82d1c0191bb51e6991",
      "vout": 121,
      "scriptSig": {
        "asm": "3045022100a792baaa169b4dcd9c7160bf40e9a0ecf2993e736a1c050a8da763946f2ddf1302202f859beccf21a259f667e9aca6b6c6de2d90f274ca9e4f9cca54f25557e2c171[ALL] 04fcf07bb1222f7925f2b7cc15183a40443c578e62ea17100aa3b44ba66905c95d4980aec4cd2f6eb426d1b1ec45d76724f26901099416b9265b76ba67c8b0b73d",
        "hex": "483045022100a792baaa169b4dcd9c7160bf40e9a0ecf2993e736a1c050a8da763946f2ddf1302202f859beccf21a259f667e9aca6b6c6de2d90f274ca9e4f9cca54f25557e2c171014104fcf07bb1222f7925f2b7cc15183a40443c578e62ea17100aa3b44ba66905c95d4980aec4cd2f6eb426d1b1ec45d76724f26901099416b9265b76ba67c8b0b73d"
      },
      "sequence": 4294967295
    }
  ],
  "vout": [
    {
      "value": 0.00002184,
      "n": 0,
      "scriptPubKey": {
        "asm": "OP_DUP OP_HASH160 fa0692278afe508514b5ffee8fe5e97732ce0669 OP_EQUALVERIFY OP_CHECKSIG",
        "hex": "76a914fa0692278afe508514b5ffee8fe5e97732ce066988ac",
        "reqSigs": 1,
        "type": "pubkeyhash",
        "addresses": [
          "1Po1oWkD2LmodfkBYiAktwh76vkF93LKnh"
        ]
      }
    },
    {
      "value": 0.00000000,
      "n": 1,
      "scriptPubKey": {
        "asm": "OP_RETURN 6f6d6e690000000000000003000000000000001d",
        "hex": "6a146f6d6e690000000000000003000000000000001d",
        "type": "nulldata"
      }
    },
    {
      "value": 0.00000546,
      "n": 2,
      "scriptPubKey": {
        "asm": "OP_DUP OP_HASH160 b8b6f8f0db13c503f366e366b06c839816fd35fe OP_EQUALVERIFY OP_CHECKSIG",
        "hex": "76a914b8b6f8f0db13c503f366e366b06c839816fd35fe88ac",
        "reqSigs": 1,
        "type": "pubkeyhash",
        "addresses": [
          "1HqgXSjrgtApKJ2bZVEAqkKmEEowVpMXB6"
        ]
      }
    }
  ],
  "hex": "010000000191691eb51b19c0d1826bc19cbfe1734e9d0d52d34dcf8a24c8303f7caa3e0626790000008b483045022100a792baaa169b4dcd9c7160bf40e9a0ecf2993e736a1c050a8da763946f2ddf1302202f859beccf21a259f667e9aca6b6c6de2d90f274ca9e4f9cca54f25557e2c171014104fcf07bb1222f7925f2b7cc15183a40443c578e62ea17100aa3b44ba66905c95d4980aec4cd2f6eb426d1b1ec45d76724f26901099416b9265b76ba67c8b0b73dffffffff0388080000000000001976a914fa0692278afe508514b5ffee8fe5e97732ce066988ac0000000000000000166a146f6d6e690000000000000003000000000000001d22020000000000001976a914b8b6f8f0db13c503f366e366b06c839816fd35fe88ac00000000",
  "blockhash": "00000000000000000013df772fa5f035e5279c0685611abc76f54ca3655db7ff",
  "confirmations": 2,
  "time": 1540633548,
  "blocktime": 1540633548
}

出力内容

verbose = false

data (string)

16進数でエンコードされたシリアルデータ

verbose = true

in_active_chain (bool)

指定されたブロックがアクティブチェーンにあるかどうか

第二引数指定時しか表示されない。falseになるのは恐らくorphan blockを指定した場合。

txid (string)

トランザクションID

hash (string)

トランザクションハッシュ

version (numeric)

バージョン

size (numeric)

シリアライズ時のトランザクションサイズ

vsize (numeric)

トランザクションの virtual サイズ

weight / 4(端数切上げ)

weight (numeric)

トランザクションのweight

Base transaction size * 3 + Total transaction size

size, vsize, weightについてはBIP141を参照

locktime (numeric)

ロック時間

vin [ ] (array of json objects)

インプットとなるトランザクション情報。支払い元となるUTXOの情報。

txid (string)

トランザクションID

vout (numeric)

アウトプット数

scriptSig { } (json object)

asm (string)

スクリプトのasm

hex (string)

スクリプトの16進数値

asmとhexの違いにてついてはWhat’s “asm” in transaction input’s ScriptSigを参照。読んでもよく分からなかったが…

sequence (numeric)

スクリプトのシーケンス番号

txinwitness [ ] (array of string)

hex (string)

16進数でエンコードされたwitnessデータ(存在する場合)

vout [ ] (array of json objects)

アウトプットとなるトランザクション情報。支払先。

value (numeric)

取引額(BTC)

n (numeric)

インデックス

scriptPubKey { } (json object)

asm (string)

スクリプトのasm

hex (string)

スクリプトの16進数値

reqSigs (numeric)

必要な署名数

type (string)

タイプ(例えば “pubkeyhash” など)

addresses [ ] (json array of string)

address  (string) 

bitcoinアドレス

hex (string)

‘txid’のシリアル化された16進エンコードデータ

blockhash (string)

ブロックハッシュ

confirmations (numeric)

confirmation数

time (numeric)

トランザクション時間(UNIX時間)

blocktime (numeric)

ブロック時間(UNIX時間)