Skip to content

getblock JSON-RPC command

getblock "blockhash" ( verbosity )

If verbosity is 0 or false, returns a string that is serialized, hex-encoded data for block 'hash'.
If verbosity is 1 or true, returns an Object with information about block <hash>.
If verbosity is 2, returns an Object with information about block <hash> and information about each transaction, including fee.
If verbosity is 3, returns an Object with information about block <hash> and information about each transaction, including fee, and including prevout information for inputs (only for unpruned blocks in the current best chain).
If verbosity >= 4, returns the same information as verbosity=3, with additional "byteCodePattern" information for all scriptSig and scriptPubKey scripts.

Arguments

1. "blockhash"    (string, required) The block hash
2. verbosity      (numeric, optional, default=1) 0 for hex-encoded data, 1 for a json object, and 2 for json object with transaction data, and 3 for JSON object with transaction data including prevout information for inputs

Result (for verbosity = 0)

"data"                   (string) A string that is serialized, hex-encoded data for block 'hash'.

Result (for verbosity = 1)

{
  "hash" : "hash",       (string) The block hash (same as provided)
  "confirmations" : n,   (numeric) The number of confirmations, or -1 if the block is not on the main chain
  "size" : n,            (numeric) The block size
  "height" : n,          (numeric) The block height or index
  "version" : n,         (numeric) The block version
  "versionHex" : "00000000", (string) The block version formatted in hexadecimal
  "merkleroot" : "xxxx", (string) The merkle root
  "tx" : [               (array of string) The transaction ids
     "transactionid"     (string) The transaction id
     ,...
  ],
  "time" : ttt,          (numeric) The block time in seconds since epoch (Jan 1 1970 GMT)
  "mediantime" : ttt,    (numeric) The median block time in seconds since epoch (Jan 1 1970 GMT)
  "nonce" : n,           (numeric) The nonce
  "bits" : "1d00ffff",   (string) The bits
  "difficulty" : x.xxx,  (numeric) The difficulty
  "chainwork" : "xxxx",  (string) Expected number of hashes required to produce the chain up to this block (in hex)
  "nTx" : n,             (numeric) The number of transactions in the block.
  "previousblockhash" : "hash",  (string) The hash of the previous block
  "nextblockhash" : "hash"       (string) The hash of the next block,
  "ablastate" : {        (json object, optional) The block's ABLA state
    "epsilon" : n,       (numeric) ABLA state epsilon value
    "beta" : n,          (numeric) ABLA state beta value
    "blocksize" : n,     (numeric) The size of this block
    "blocksizelimit" : n,        (numeric) The size limit for this block
    "nextblocksizelimit" : n,    (numeric) The size limit for the next block
  }
}

Result (for verbosity = 2)

{
  ...,                   Same output as verbosity = 1
  "tx" : [               (json array)
    {                    (json object)
      ...,               The transactions in the format of the getrawtransaction RPC; different from verbosity = 1 "tx" result
      "fee" : n          (numeric) The transaction fee in BCH, omitted if block undo data is not available
    },
    ...
  ],
  ...                    Same output as verbosity = 1
}

Result (for verbosity >= 3)

{
  ...,                   Same output as verbosity = 2
  "tx" : [               (json array)
    {                    (json object)
      ...,               Same output as verbosity = 2
      "vin" : [          (json array)
        {                (json object)
          ...,           Same output as verbosity = 2
          "scriptSig" : {               (json object, optional) Only for non-coinbase tx
            ...,                        Same output as verbosity = 2 
            "byteCodePattern" : {       (json object, optional) Only for verbosity >= 4
              "fingerprint" : "str",    (string) Single SHA-256 hash of script pattern
              "pattern" : "str",        (string) Hex-encoded script pattern
              "patternAsm" : "str",     (string) Script pattern asm
              "data" : [                (json array) Script data pushes
                "hex", ...              (string) Hex-encoded data push
              ],
              "error": true             (boolean, optional) Only if there was an error parsing the script
            },
            "redeemScript" : {          (json object, optional) Only for verbosity >= 4 and only for p2sh inputs
              "asm" : "str",            (string) The p2sh redeem script asm
              "hex" : "str",            (string) The p2sh redeem script hex
              "byteCodePattern" : {     (json object) Redeem script byte code pattern information
                ...,                    Same schema as for scriptSig.byteCodePattern above
                "p2shType" : "str"      (string) Either "p2sh20" or "p2sh32"
              }
            },
          },
          "prevout" : {                 (json object, optional) (Only if undo information is available)
            "generated" : true|false,   (boolean) Coinbase or not
            "height" : n,               (numeric) The height of the prevout
            "value" : n,                (numeric) The value in BCH
            "scriptPubKey" : {          (json object)
              "asm" : "str",            (string) The asm
              "hex" : "str",            (string) The hex
              "type" : "str",           (string) The type (one of: nonstandard, pubkey, pubkeyhash, scripthash, multisig, nulldata)
              "address" : "str"         (string, optional) The Bitcoin Cash address (only if well-defined address exists)
              "byteCodePattern" : {...} (json object) Only for verbosity >= 4; byte code pattern information
            },
            "tokenData" : {             (json object, optional) CashToken data (only if the input contained a token)
              "category" : "hex",       (string) Token id
              "amount" : "xxx",         (string) Fungible amount (is a string to support >53-bit amounts)
              "nft" : {                 (json object, optional) NFT data (only if the token has an NFT)
                "capability" : "xxx",   (string) One of "none", "mutable", "minting"
                "commitment" : "hex"    (string) NFT commitment formatted as hexadecimal
              },
            }
          }
        },
        ...
      ],
      "vout" : [...]     Same output as verbosity = 2; verbosity >= 4 has additional "byteCodePattern" information for all "scriptPubKey" scripts
    },
    ...
  ],
  ...                    Same output as verbosity = 2
}

Examples

> bitcoin-cli getblock "00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09"
> curl --user myusername --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getblock", "params": ["00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09"] }' -H 'content-type: text/plain;' http://127.0.0.1:8332/

Bitcoin Cash Node Daemon version v28.0.2-f57e7c8

Documentation on docs.bitcoincashnode.org reflects the current master branch in Git, and may include API changes that are not yet present in the latest release.