debug_traceTransaction
debug_traceTransaction RPC Method
Parameters:
transactionHash - string - The transaction hash that needs to be traced, encoded in hexadecimal format
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
timeout - string - A string of decimal integers that overrides the JavaScript-based tracing calls default timeout of 5 seconds.
Returns:
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
Code Examples:
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify({
"method": "debug_traceTransaction",
"params": [
"0xb142342a7fd70602b7a0ba3688a41bfcbb4fbc3490c252ca48af2594619d220c",
{
"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/polygon/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