trace_rawTransaction RPC Method
Executes a raw transaction but returns traces instead of posting it on chain.
Note: Chainnodes does not support
trace_rawTransaction
yet as erigon (opens in a new tab) hasn't implemented it to date. In the meantime you can easily replace this call withtrace_call
.
Parameters
1.RAW TRANSACTION
[required]
The raw transaction as a string.
2.TRACE TYPE
[required]
-
array
- The type of traces to include-
vmTrace
- Include the full trace of the virtual machine during the transaction -
trace
- Include the basic trace of the transaction -
stateDiff
- Include state changes caused by the transaction
-
Returns
-
object
- The trace object-
output
- The output (return value) of the call -
stateDiff
- The state changes that would happen due to the transaction in the given eth_call -
vmTrace
- The full trace of the virtual machine's state during execution of the given eth_call, including any sub-calls -
trace
- The trace of the call-
action
- The action to be performed-
from
- The address of the sender -
callType
- The type of method such as call, delegatecall -
gas
- The gas provided by the sender -
input
- The input data of the call or delegatecall -
to
- The address of the receiver -
value
- The amount of ETH sent with this transaction
-
-
result
- The result of the transaction-
gasUsed
- Gas used by the transaction -
output
- The return value of the call. Can be empty.
-
-
subtraces
- The traces of internal transactions (calls made by the contract) -
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
-
-
Need RPC API keys?
Get 12.5M archival requests for free today.
Request
POST https://<network>.chainnodes.org/YOUR-API-KEY
Example
Confusing? Ask blockchain developers in Chainnodes Telegram Chat (opens in a new tab)
- HTTPS POST Request with a JSON RPC call in the body
- Replace YOUR-API-KEY with the API key from your Chainnodes.org Dashboard
- You can use a different supported network by replacing
mainnet
curl https://mainnet.chainnodes.org/YOUR-API-KEY \
-X POST \
-H "Content-Type: application/json" \
-d '{"method":"trace_rawTransaction","params":["0xf6199ca6dca83e5d4d828ba4a586841067423d12da558bf1c3cd054c6be39bce",["statediff"]],"id":1,"jsonrpc":"2.0"}'
Body
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"output": "0x0000000000000000000000000000000000000000000000000858898f93629000",
"stateDiff": {
"0x0000000000000000000000000000000000000000": {
"balance": {
"*": {
"from": "0x2722f4b4a37258f501e",
"to": "0x2722f48ab4cbdf40684"
}
},
"code": "=",
"nonce": {
"*": {
"from": "0x0",
"to": "0x1"
}
},
"storage": {}
}
},
"trace": [],
"vmTrace": null
}
}