For the complete documentation index, see llms.txt. This page is also available as Markdown.

debug_traceBlock - GIWA

Example code for the debug_traceBlock JSON-RPC method. Complete guide on how to use debug_traceBlock JSON-RPC in GetBlock Web3 documentation.

This method replays and traces all transactions in an RLP-encoded block, returning per-transaction execution traces. It is a Dedicated Node tier method.

Parameters

Parameter
Type
Required
Description

blockRlp

string

Yes

0x-prefixed RLP-encoded block

options

object

No

Tracer options (e.g. callTracer)

Request

curl --location --request POST 'https://shared.ap-southeast-1.getblock.io/<ACCESS-TOKEN>/' \
--header 'Content-Type: application/json' \
--data-raw '{
    "jsonrpc": "2.0",
    "method": "debug_traceBlock",
    "params": ["0xf90211a0...", { "tracer": "callTracer" }],
    "id": "getblock.io"
}'
example.js
const axios = require('axios');

const response = await axios.post('https://shared.ap-southeast-1.getblock.io/<ACCESS-TOKEN>/', {
    jsonrpc: '2.0',
    method: 'debug_traceBlock',
    params: ['0xf90211a0...', { tracer: 'callTracer' }],
    id: 'getblock.io'
}, {
    headers: { 'Content-Type': 'application/json' }
});

console.log(response.data.result);
example.py
import requests

response = requests.post(
    'https://shared.ap-southeast-1.getblock.io/<ACCESS-TOKEN>/',
    headers={'Content-Type': 'application/json'},
    json={
        'jsonrpc': '2.0',
        'method': 'debug_traceBlock',
        'params': ['0xf90211a0...', { 'tracer': 'callTracer' }],
        'id': 'getblock.io'
    }
)

print(response.json())

Response

{
    "jsonrpc": "2.0",
    "id": "getblock.io",
    "result": [
        {
            "result": {
                "type": "CALL",
                "from": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                "to": "0x4200000000000000000000000000000000000006",
                "gasUsed": "0x5208",
                "calls": []
            }
        }
    ]
}

Response Parameters

Parameter
Type
Description

jsonrpc

string

JSON-RPC protocol version ("2.0")

id

string

Request identifier matching the request

result

array

Per-transaction execution traces

Use Cases

  • Block Replay: Trace every transaction in a raw block

  • Debugging: Investigate execution across a whole block

  • Tracer Selection: Apply callTracer or a custom tracer to a block

  • Analysis: Reconstruct call graphs from block execution

Error Handling

Error Code
Message
Description

-32602

Invalid params

Malformed RLP or tracer options

-32601

Method not found

The debug namespace is not enabled on this endpoint

Web3 Integration

Last updated

Was this helpful?