Traces
Traces keep track of the actions that modify the internal state of the EVM.
Typically, trace_id
for traces are unique, unless there are duplicate transactions on the blockchain.
Refer to for more information and examples.
Table Columns
Column Name | Description | Example |
---|---|---|
transaction_hash | Unique identifier of the transaction that contains this trace. | 0x5bb892abdddcbf71c9e0972a4ac39e3445a49d57c684f90e2d3c5efa80e2bb93 |
transaction_index | The position of this transaction in the block that it belongs to. The first transaction has index 0. | 1 |
from_address | The address of the sending party of this trace. | 0x75ca8f6c82df5fdfd09049f46ad5d072b0a53bf6 |
to_address | The address of the receiving party of this trace (null for contract creation). | 0x43bfe4438dc0ebfde7af5daf51a62c6ade30256a |
value | The amount of ether moved from the from_address to to_address. | 0 |
input | The bytecode of the call that is made to another smart contract. | 0xa612dea4000000000000000000000000ee5313afef962fffaceeb232321ef26cdbc5502d000000000000000000000000662d765944f1b28d4430ee236aaa86aae4d241b900000000000000000000000055d398326f99059ff775485246999027b3197955000000000000000000000000000000000000000000000005bf0ba6634f67f151 |
selector | Selector of the txn. | 0xa612dea4 |
output | The bytecode answer the smart contract that was called gives back. | 0x0000000000000000000000000000000000000000000000000000000000000001 |
trace_type | The value of the method such as call, create, create2, suicide. | call |
call_type | The type of method such as call, delegatecall, staticcall. Learn more here. | call |
reward_type | Populated when trace_type =reward. Possible values: block, uncle | |
gas | Gas provided with the trace call, in wei. | 44866 |
gas_used | The amount of gas consumed, in wei. | 5157 |
subtraces | Number of children traces. | 0 |
trace_address | The address of the trace within the call graph. More detail to come soon. | 10 |
error | Human readable developer error message. Examples: "Out of gas", "Reverted", "Bad instruction", "Bad jump destination". | |
status | Success status of the trace. Either 1 (success) or 0 (failure). Error messages take precedence over trace status. Note that debug_trace methods may still return status = 1 for error traces. | 1 |
block_timestamp | The time when the block that contains this log was included on the blockchain. | 2020-09-12 12:30:16+00:00 |
block_number | The length of the chain, in blocks. | 414012 |
block_hash | Unique identifier of the block that includes this log. | 0xad1759de1409a6e53a5903793b439c3f1e2bc5f6f028ff2a4e022d4da320e2be |
trace_id | Unique identifier for this trace. Generated by combining the trace_type, transaction_hash and trace_address. | call_0x5bb892abdddcbf71c9e0972a4ac39e3445a49d57c684f90e2d3c5efa80e2bb93_10 |
_created_at | Timestamp of the entry creation. | NaT |
_updated_at | Timestamp of the entry update. | NaT |
Additional Info
Trace Address field different from Etherscan/Explorers
The number of traces Allium has indexed for this transaction is 12, whereas if you count the number of traces that Etherscan has on this page, you'll notice that it is 11. Etherscan has chosen to leave out certain types of traces and coupled with how trace addresses are generated, it will result in a different trace address numbering scheme.
In the example above, the trace in the example as indexed by Allium is {0,0,2,0}
whereas on Etherscan/Block Explorer it's as follows:
Last updated