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

debug_traceBlockByHash - Linea

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

This method replays every transaction in a block identified by hash and returns an execution trace for each. It is used to analyze all execution in a block at once.

Parameters

Parameter
Type
Required
Description

blockHash

string

Yes

32-byte block hash

options

object

No

Tracer options, such as the tracer name and its configuration

Request

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

const response = await axios.post('https://go.getblock.io/<ACCESS-TOKEN>/', {
    jsonrpc: '2.0',
    method: 'debug_traceBlockByHash',
    params: ["0x8e3f5b2a9c1d4e7f0a6b3c8d5e2f9a1b4c7d0e3f6a9b2c5d8e1f4a7b0c3d6e9f", {"tracer": "callTracer"}],
    id: 'getblock.io'
}, {
    headers: { 'Content-Type': 'application/json' }
});

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

response = requests.post(
    'https://go.getblock.io/<ACCESS-TOKEN>/',
    headers={'Content-Type': 'application/json'},
    json={
        'jsonrpc': '2.0',
        'method': 'debug_traceBlockByHash',
        'params': ["0x8e3f5b2a9c1d4e7f0a6b3c8d5e2f9a1b4c7d0e3f6a9b2c5d8e1f4a7b0c3d6e9f", {"tracer": "callTracer"}],
        'id': 'getblock.io'
    }
)

print(response.json())

Response

{
    "jsonrpc": "2.0",
    "id": "getblock.io",
    "result": [
        {
            "txHash": "0x4a7b0c3d6e9f2a5b8c1d4e7f0a3b6c9d2e5f8a1b4c7d0e3f6a9b2c5d8e1f4a7b",
            "result": {
                "from": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                "to": "0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f",
                "gasUsed": "0x5208",
                "output": "0x",
                "type": "CALL",
                "calls": []
            }
        }
    ]
}

Response Parameters

Parameter
Type
Description

jsonrpc

string

JSON-RPC protocol version ("2.0")

id

string

Request identifier matching the request

result

array

Array of per-transaction traces for the block

Trace Entry

Field
Type
Description

txHash

string

Hash of the traced transaction

result

object

Execution trace for the transaction, shaped by the tracer

Use Cases

  • Block Analysis: Trace all execution in a block by hash

  • Reorg-Safe Tracing: Pin a trace to a specific block hash

  • Internal Transfers: Extract internal value transfers across a block

  • Auditing: Review every call frame produced in a block

Error Handling

Error Code
Message
Description

-32602

Invalid params

The block number or hash is malformed or out of range

-32603

Internal error

The node failed to read the block

Web3 Integration

Was this helpful?