debug_traceCall - Mantle
Example code for the debug_traceCall JSON-RPC method. Complete guide on how to use debug_traceCall JSON-RPC in GetBlock Web3 documentation.
This method traces a call without creating a transaction. Similar to eth_call but provides full EVM execution trace for debugging purposes.
Parameters
callObject
object
Transaction call object
blockNumber
string
Block number (hex) or tag
tracerConfig
object
(optional) Tracer configuration
Request
curl --location --request POST 'https://go.getblock.io/<ACCESS-TOKEN>/' \
--header 'Content-Type: application/json' \
--data-raw '{
"jsonrpc": "2.0",
"method": "debug_traceCall",
"params": [
{
"from": null,
"to": "0x201EBa5CC46D216Ce6DC03F6a759e8E766e956aE",
"data": "0x70a082310000000000000000000000006E0d01A76C3Cf4288372a29124A26D4353EE51BE"
},
"latest",
{"tracer": "callTracer"}
],
"id": "getblock.io"
}'import axios from 'axios';
const data = JSON.stringify({
"jsonrpc": "2.0",
"method": "debug_traceCall",
"params": [
{
"from": null,
"to": "0x201EBa5CC46D216Ce6DC03F6a759e8E766e956aE",
"data": "0x70a082310000000000000000000000006E0d01A76C3Cf4288372a29124A26D4353EE51BE"
},
"latest",
{"tracer": "callTracer"}
],
"id": "getblock.io"
});
const config = {
method: 'post',
url: 'https://go.getblock.io/<ACCESS-TOKEN>/',
headers: {
'Content-Type': 'application/json'
},
data: data
};
axios(config)
.then(response => console.log(JSON.stringify(response.data)))
.catch(error => console.log(error));Response
Response Parameters
type
string
Call type
from
string
Sender address
to
string
Recipient address
gas
string
Gas provided (hex)
gasUsed
string
Gas used (hex)
input
string
Call input data
output
string
Call output data
Use Case
The debug_traceCall method is essential for:
Contract call debugging without transaction
Gas estimation analysis
Smart contract testing
Understanding call behavior
Pre-transaction simulation
Error Handling
403
Forbidden
Missing or invalid ACCESS-TOKEN
-32000
Execution reverted
Contract execution failure
Web3 Integration
Last updated
Was this helpful?