trace_replayBlockTransactions
Note
Served only when
traceis named in--http.apior--ws.api; see Enabling Namespaces.
Replays every transaction in a block and returns the trace types requested for each one, in block order. Each entry has the shape trace_replayTransaction returns, plus the transaction’s hash.
Traces cover the block’s transactions only. The system calls a block runs before its transactions (EIP-4788 beacon root, EIP-2935 block hashes) and the epoch-closing system calls (applyIncentives and concludeEpoch) are not transactions, so no tracer shows them.
Telcoin Network has no block or uncle rewards, so these traces never include reward entries.
Parameters
QUANTITY|TAG|DATA - Hexadecimal block number, a 32-byte block hash, or one of the string tags latest, earliest, safe or finalized. See the default block parameter.
Array - The trace types to return, any of "trace", "vmTrace" and "stateDiff".
Returns
Array - One object per transaction, or null when the node does not know the block. A block without transactions returns []. Each object has:
output:DATA- The return data of the top-level call;0xfor a plain transfer.stateDiff:Object- WithstateDiffrequested, the state changes keyed by account address; otherwisenull. Each account hasbalance,code,nonceandstorage(keyed by slot). Each value is"="when unchanged,{"+": value}when created,{"-": value}when removed, or{"*": {"from": old, "to": new}}when changed.trace:Array- Withtracerequested, the call frames, top-level first; otherwise[]. Each frame hastype,action,error(only when the frame failed),result,subtracesandtraceAddress, with the meanings trace_transaction gives them, and no block or transaction fields. The top-level frame’saction.gasandresult.gasUsedleave out the intrinsic gas, so for a plain transfer with a 21,000 gas limit both are0x0.vmTrace:Object- WithvmTracerequested, the instructions the top-level call executed; otherwisenull. It hascode(DATA, the code that ran) andops, one entry per instruction withcost(Number, its gas cost),pc(Number, the program counter),ex(its effects:used,pushfor the stack items it pushed,memfor a memory write andstorefor a storage write),sub(the nestedvmTraceof a CALL or CREATE, ornull), and, when present,op(the opcode name) andidx.transactionHash:DATA, 32 Bytes - Hash of the replayed transaction.
Example
Request
curl http://localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{"jsonrpc":"2.0","method":"trace_replayBlockTransactions","params":["0x1",["trace"]],"id":1}'
Result
{
"jsonrpc": "2.0",
"id": 1,
"result": [
{
"output": "0x",
"stateDiff": null,
"trace": [
{
"type": "call",
"action": {
"from": "0xb14d3c4f5fbfbcfb98af2d330000d49c95b93aa7",
"callType": "call",
"gas": "0x0",
"input": "0x",
"to": "0x0000000000000000000000000000000000000000",
"value": "0x64"
},
"result": {
"gasUsed": "0x0",
"output": "0x"
},
"subtraces": 0,
"traceAddress": []
}
],
"vmTrace": null,
"transactionHash": "0xa794c7eb915c26fdb77242159053c1a36241bcd016b671fb07abe3fa9050805e"
}
]
}