Join AWS, Dust Labs & OrangeDAO at QuickPitch. Win $80k — Apply Today.
The API credit value for this method is 9 . To learn more about API credits and each method's value, visit the API Credits page.
Parameters:
from - string - (optional) The address the transaction is sent from
to - string - The address the transaction is directed to
gas - integer - (optional) The integer of the gas provided for the transaction execution
gasPrice - integer - (optional) The integer of the gasPrice used for each paid gas
value - integer - (optional) The integer of the value sent with this transaction
data - string - (optional) The hash of the method signature and encoded parameters
tracer - string - The type of tracer. It could be callTracer or prestateTracer
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:
failed - The transaction is successful or not
gas - The total consumed gas in the transaction
returnValue - The return value of the executed contract call
structLogs - The trace result of each step with the following fields:
pc - The current index in bytecode
op - The name of current executing operation
gas - The available gas in the execution
gasCost - The gas cost of the operation
depth - The number of levels of calling functions
error - The error of the execution
stack - An array of values in the current stack
memory - An array of values in the current memory
storage - The mapping of the current storage
refund - The total of current refund value
Code Examples:
curl http://sample-endpoint-name.network.quiknode.pro/token-goes-here/ \ -X POST \ -H "Content-Type: application/json" \ --data '{"method":"debug_traceCall","params":[{"from":null,"to":"0x6b175474e89094c44da98b954eedeac495271d0f","data":"0x70a082310000000000000000000000006E0d01A76C3Cf4288372a29124A26D4353EE51BE"}, "latest"],"id":1,"jsonrpc":"2.0"}'
require "uri" require "json" require "net/http" url = URI("http://sample-endpoint-name.network.quiknode.pro/token-goes-here/") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Post.new(url) request["Content-Type"] = "application/json" request.body = JSON.dump({ "method": "debug_traceCall", "params": [ { "from": nil, "to": "0x6b175474e89094c44da98b954eedeac495271d0f", "data": "0x70a082310000000000000000000000006E0d01A76C3Cf4288372a29124A26D4353EE51BE" }, "latest" ], "id": 1, "jsonrpc": "2.0" }) response = https.request(request) puts response.read_body
import requests import json url = "http://sample-endpoint-name.network.quiknode.pro/token-goes-here/" payload = json.dumps({ "method": "debug_traceCall", "params": [ { "from": None, "to": "0x6b175474e89094c44da98b954eedeac495271d0f", "data": "0x70a082310000000000000000000000006E0d01A76C3Cf4288372a29124A26D4353EE51BE" }, "latest" ], "id": 1, "jsonrpc": "2.0" }) headers = { 'Content-Type': 'application/json' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
require 'eth' client = Eth::Client.create 'http://sample-endpoint-name.network.quiknode.pro/token-goes-here/' payload = { "jsonrpc": "2.0", "method": "debug_traceCall", "params": [{ "to": "0x6b175474e89094c44da98b954eedeac495271d0f", "data": "0x70a082310000000000000000000000006E0d01A76C3Cf4288372a29124A26D4353EE51BE" }, "latest"], "id": "1" } response = client.send(payload.to_json) puts response
var myHeaders = new Headers(); myHeaders.append("Content-Type", "application/json"); var raw = JSON.stringify({ "method": "debug_traceCall", "params": [ { "from": null, "to": "0x6b175474e89094c44da98b954eedeac495271d0f", "data": "0x70a082310000000000000000000000006E0d01A76C3Cf4288372a29124A26D4353EE51BE" }, "latest" ], "id": 1, "jsonrpc": "2.0" }); var requestOptions = { method: 'POST', headers: myHeaders, body: raw, redirect: 'follow' }; fetch("http://sample-endpoint-name.network.quiknode.pro/token-goes-here/", requestOptions) .then(response => response.text()) .then(result => console.log(result)) .catch(error => console.log('error', error));
from web3 import HTTPProvider client = HTTPProvider('http://sample-endpoint-name.network.quiknode.pro/token-goes-here/') params = [{ "to": "0x6b175474e89094c44da98b954eedeac495271d0f", "data": "0x70a082310000000000000000000000006E0d01A76C3Cf4288372a29124A26D4353EE51BE" }, "latest"] response = client.make_request('debug_traceCall', params) print(response)
const ethers = require("ethers"); (async () => { const provider = new ethers.providers.JsonRpcProvider("http://sample-endpoint-name.network.quiknode.pro/token-goes-here/"); const response = await provider.send("debug_traceCall", [ { "to": "0x6b175474e89094c44da98b954eedeac495271d0f", "data": "0x70a082310000000000000000000000006E0d01A76C3Cf4288372a29124A26D4353EE51BE", }, "latest", ]); console.log(response); })();