Traces
Traces keep track of the actions that modify the internal state of the EVM.
Learn more here.
Typically, trace_id
for traces are unique, unless there are duplicate transactions on the blockchain.
Refer to Traces ID and Address for more information and examples.
Sample Query
Querying the latest trace transactions.
Table Columns
The example used is a trace that is part of a Uniswap swap transaction, between ETH and USDC. The sample values belong to a trace that accounted for a part of the total amount of Ether that was moved in this transaction.
Column Name | Description | Example |
---|---|---|
transaction_hash | Unique identifier of the transaction that contains this trace. | 0x9068357001dc45c59a0c0383860f25fd64daeef205f723c5cbd980f280baca38 |
transaction_index | The position of this transaction in the block that it belongs to. The first transaction has index 0. | 62 |
from_address | The address of the sending party of this trace. | 0x68b3465833fb72a70ecdf485e0e4c7bd8665fc45 |
to_address | The address of the receiving party of this trace (null for contract creation). | 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 |
value | The amount of ether moved from the from_address to to_address. | 3.40E+17 |
input | The bytecode of the call that is made to another smart contract. | 0xd0e30db0 |
output | The bytecode answer the smart contract that was called gives back. | 0x |
trace_type | The value of the method such as call, create, create2, suicide. | call |
call_type | REWARD_TYPE | call |
reward_type | Populated when trace_type =reward. Possible values: block, uncle | |
gas | Gas provided with the trace call, in wei. | 73,542 |
gas_used | The amount of gas consumed, in wei. | 23,974 |
subtraces | Number of children traces. | 0 |
trace_address | The address of the trace within the call graph. More detail to come soon. | 0,0,2,0 |
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). | 1 |
block_timestamp | The time when the block that contains this trace was included on the blockchain. | 2022-09-16 04:59:59 |
block_number | The length of the chain, in blocks. | 15,543,975 |
block_hash | Unique identifier of the block that includes this trace. | 0xe3eb6f24b34ab179646608ca100a3cd1d2fd1144f83544d029c0352429371b6d |
trace_id | Unique identifier for this trace. Generated by combining the trace_type, transaction_hash and trace_address. | call_0x9068357001dc45c59a0c0383860f25fd64daeef205f723c5cbd980f280baca38_0_0_2_0 |
selector | Selector of the txn. | 0xd0e30db0 |
Additional Info
Trace Address field different from Etherscan
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, it's as follows:
Last updated