Skip to content

getblock JSON-RPC command

getblock "blockhash" ( verbosity patterns )

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 3. patterns (boolean, optional, default=false) If true then byteCodePattern and redeemScript objects will be added

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 patterns == true "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 patterns == true 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, optional) Only for patterns == true; 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; patterns == true has additional "byteCodePattern" information for all "scriptPubKey" scripts }, ... ], ... Same output as verbosity = 2 }

Examples

```

bitcoin-cli getblock "00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09" bitcoin-cli getblock "00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09" 2 bitcoin-cli getblock "00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09" 2 true 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 v29.0.1-71febb2

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.