debug_traceBlock
debug_traceBlock RPC Method
Parameters:
block - string - The RLP encoded block
object - (optional) The tracer object with the following fields:
tracer - string - The type of tracer. It could be callTracer or prestateTracer
callTracer - The calltracer keeps track of all call frames, including depth 0 calls, that are made during a transaction prestateTracer - 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
calls - A list of sub-calls
Code Examples:
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify({
"method": "debug_traceBlock",
"params": ["RLP_ENCODED_BLOCK", {"tracer": "callTracer"}],
"id": 1,
"jsonrpc": "2.0"
});
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.ebs.ezat.io/core/api/v1.0/rpc/ethereum/mainnet?x-api-key-id=API-KEY-ID&x-api-key=API-KEY", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
Last updated