Skip to main content

debug_traceBlock RPC Method

Returns a full stack trace of all invoked opcodes of all transactions that were included in a block.

Updated on
Jul 30, 2024

debug_traceBlock RPC Method

Please note that this RPC method is available to all users on the Growth plan and higher. If you are using the Free or Starter plan, you will need to upgrade to utilize this method. See our pricing for more information.

Parameters

block
string
REQUIRED
The RLP encoded block
object
object
REQUIRED
The tracer object with the following fields:
tracer
string
The type of tracer. It could be callTracer or prestateTracer
callTracer
string
The calltracer keeps track of all call frames, including depth 0 calls, that are made during a transaction
prestateTracer
string
The prestateTracer replays the transaction and tracks every part of state that occured during the transaction
tracerConfig
object
The object to specify the configurations of the tracer
onlyTopCall
boolean
When set to true, this will only trace the primary (top-level) call and not any sub-calls. It eliminates the additional processing for each call frame

Returns

result
A result array with the following fields:
type
The type of the call
from
The address the transaction is sent from
to
The address the transaction is directed to
value
The integer of the value sent with this transaction
gas
The integer of the gas provided for the transaction execution
gasUsed
The integer of the gas used
input
The data given at the time of input
output
The data which is returned as an output
error
The type of error, if any
revertReason
The type Solidity revert reason, if any
calls
A list of sub-calls
Request
1
curl https://docs-demo.xai-mainnet.quiknode.pro/ \
2
-X POST \
3
-H "Content-Type: application/json" \
4
--data '{"method":"debug_traceBlock","params":["RLP_ENCODED_BLOCK", {"tracer": "callTracer"}],"id":1,"jsonrpc":"2.0"}'
Don't have an account yet?
Create your QuickNode endpoint in seconds and start building
Get started for free