We're now supporting Polygon zkEVM!
Learn more here.
The API credit value for this method is 259 . To learn more about API credits and each method's value, visit the API Credits page.
Please note that this RPC method requires the Trace Mode add-on enabled on your QuickNode endpoint. Also, it is supported only on OpenEthereum & Erigon.
Parameters:
vmTrace - string - To get a full trace of the virtual machine's state during the execution of the given of given transaction, including for any subcalls
trace - string - To get the basic trace of the given transaction
stateDiff - string - To get information on altered Ethereum state due to execution of the given transaction
Returns:
output - The data which is returned as an output encoded in hexadecimal format
stateDiff - It returns the information on altered Ethereum state due to execution of the given transaction
trace - It is used to retrieve the basic trace of the given information
action - The action to be performed on the receiver id
from - The address of the sender
callType - The type of method such as call, delegatecall
gas - The gas provided by the sender, encoded as hexadecimal
input - The data sent along with the transaction
to - The address of the receiver
value - The integer of the value sent with this transaction, encoded as hexadecimal
result - The integer of the gas price used encoded as hexadecimal
gasUsed - The total used gas by all transactions in this block encoded as hexadecimal
output - The value returned by the contract call, and it only contains the actual value sent by the RETURN method. If the RETURN method was not executed, the output is empty bytes
subtraces - The traces of contract calls made by the transaction
traceAddress - The list of addresses where the call was executed, the address of the parents, and the order of the current sub call
type - The value of the method such as call or create
vmTrace - It is used to get a full trace of the virtual machine's state during the execution of the given transaction, including for any sub-calls
Code Examples:
require 'eth' client = Eth::Client.create 'http://sample-endpoint-name.network.quiknode.pro/token-goes-here/' payload = { "jsonrpc": "2.0", "method": "trace_replayTransaction", "params": ["0x3277c743c14e482243862c03a70e83ccb52e25cb9e54378b20a8303f15cb985d",['trace']], "id": "1" } response = client.send(payload.to_json) puts response
from web3 import HTTPProvider client = HTTPProvider('http://sample-endpoint-name.network.quiknode.pro/token-goes-here/') result = client.make_request('trace_replayTransaction', ['0x3277c743c14e482243862c03a70e83ccb52e25cb9e54378b20a8303f15cb985d',['trace']]) print(result)
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": "trace_replayTransaction", "params": [ "0x3277c743c14e482243862c03a70e83ccb52e25cb9e54378b20a8303f15cb985d", [ "trace" ] ], "id": 1, "jsonrpc": "2.0" }) response = https.request(request) puts response.read_body
curl http://sample-endpoint-name.network.quiknode.pro/token-goes-here/ \ -X POST \ -H "Content-Type: application/json" \ --data '{"method":"trace_replayTransaction","params":["0x3277c743c14e482243862c03a70e83ccb52e25cb9e54378b20a8303f15cb985d",["trace"]],"id":1,"jsonrpc":"2.0"}'
var myHeaders = new Headers(); myHeaders.append("Content-Type", "application/json"); var raw = JSON.stringify({ "method": "trace_replayTransaction", "params": [ "0x3277c743c14e482243862c03a70e83ccb52e25cb9e54378b20a8303f15cb985d", [ "trace" ] ], "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));
const ethers = require("ethers"); (async () => { const provider = new ethers.providers.JsonRpcProvider("http://sample-endpoint-name.network.quiknode.pro/token-goes-here/"); const transaction = await provider.send("trace_replayTransaction", [ "0x3277c743c14e482243862c03a70e83ccb52e25cb9e54378b20a8303f15cb985d", ["trace"], ]); console.log(transaction); })();
import requests import json url = "http://sample-endpoint-name.network.quiknode.pro/token-goes-here/" payload = json.dumps({ "method": "trace_replayTransaction", "params": [ "0x3277c743c14e482243862c03a70e83ccb52e25cb9e54378b20a8303f15cb985d", [ "trace" ] ], "id": 1, "jsonrpc": "2.0" }) headers = { 'Content-Type': 'application/json' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)