🌱Traces

Polygon zkEVM trace data is under beta and are not fully verified. There are node-related issues resulting in called debug_traceBlockByNumberRPC calls

Last updated: 12 April 2024

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 Traces ID and Address for more information and examples.

Table Columns

Column NameDescription

block_number

The length of the chain, in blocks.

block_timestamp

The time when the block that contains this log was included on the blockchain.

block_hash

Unique identifier of the block that includes this log.

transaction_hash

Unique identifier of the transaction that this log belongs to.

transaction_index

The position of this transaction in the block that it belongs to. The first transaction has index 0.

from_address

The address of the sending party of this transaction.

to_address

The address of the receiving party of this transaction, typically a contract address for logs.

value

The amount of ether moved from the from_address to to_address.

input

The bytecode of the call that is made to another smart contract.

selector

Selector of the txn.

output

The bytecode answer the smart contract that was called gives back.

trace_type

The value of the method such as call, create, create2, suicide.

call_type

reward_type

Populated when trace_type =reward. Possible values: block, uncle

gas

Gas provided with the trace call, in wei.

gas_used

The amount of gas consumed, in wei.

subtraces

Number of children traces.

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).

trace_id

Unique identifier for this trace. Generated by combining the trace_type, transaction_hash and trace_address.

trace_address

The address of the trace within the call graph. More detail to come soon.

_created_at

Timestamp of the entry creation.

_updated_at

Timestamp of the entry update.

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