debug_traceTransaction - Filecoin
Example code for the debug_traceTransaction JSON RPC method. Complete guide on how to use debug_traceTransaction JSON RPC in GetBlock Web3 documentation.
This method replays a transaction and returns a detailed execution trace, including opcode-level steps or a structured call trace depending on the tracer. It is used to debug transaction execution and reverts.
Parameters
transactionHash
string
Yes
32-byte hash of the transaction to trace
options
object
No
Tracer options, such as the tracer name and its configuration
Options Object
tracer
string
No
Tracer to use, such as callTracer or prestateTracer
timeout
string
No
Maximum trace duration, such as "10s"
Request
curl --location --request POST 'https://shared.eu-central-1.getblock.io/<ACCESS-TOKEN>/' \
--header 'Content-Type: application/json' \
--data-raw '{
"jsonrpc": "2.0",
"method": "debug_traceTransaction",
"params": ["0x4a7b0c3d6e9f2a5b8c1d4e7f0a3b6c9d2e5f8a1b4c7d0e3f6a9b2c5d8e1f4a7b", {"tracer": "callTracer"}],
"id": "getblock.io"
}'const axios = require('axios');
const response = await axios.post('https://shared.eu-central-1.getblock.io/<ACCESS-TOKEN>/', {
jsonrpc: '2.0',
method: 'debug_traceTransaction',
params: ["0x4a7b0c3d6e9f2a5b8c1d4e7f0a3b6c9d2e5f8a1b4c7d0e3f6a9b2c5d8e1f4a7b", {"tracer": "callTracer"}],
id: 'getblock.io'
}, {
headers: { 'Content-Type': 'application/json' }
});
console.log(response.data.result);import requests
response = requests.post(
'https://shared.eu-central-1.getblock.io/<ACCESS-TOKEN>/',
headers={'Content-Type': 'application/json'},
json={
'jsonrpc': '2.0',
'method': 'debug_traceTransaction',
'params': ["0x4a7b0c3d6e9f2a5b8c1d4e7f0a3b6c9d2e5f8a1b4c7d0e3f6a9b2c5d8e1f4a7b", {"tracer": "callTracer"}],
'id': 'getblock.io'
}
)
print(response.json())Response
Response Parameters
jsonrpc
string
JSON-RPC protocol version ("2.0")
id
string
Request identifier matching the request
result
object
Execution trace, shaped by the selected tracer
callTracer Object
from
string
Address that initiated the call
to
string
Address that received the call
gasUsed
string
Gas used by the call frame
output
string
Return data of the call
calls
array
Nested internal calls
Use Cases
Revert Debugging: Trace why a transaction reverted
Internal Calls: Reconstruct internal contract calls with callTracer
MEV Analysis: Inspect execution paths of complex transactions
Gas Profiling: Attribute gas usage across call frames
Error Handling
-32602
Invalid params
The transaction hash is not a valid 32-byte hex string
-32603
Internal error
The node failed to read the transaction
Web3 Integration
Was this helpful?