Infura provides access to the following trace API methods to allow users to gain insights into the execution of smart contracts and transactions:
Trace API is currently an open beta feature, available to paying Infura customers.
trace_block, trace_filter, and
trace information, whereas
allow you to use the
stateDiff diagnostic options when tracing calls or transactions.
Provides an ordered trace of the instructions executed by the Ethereum Virtual Machine (EVM) during the execution of a smart contract transaction. Excludes precompiled contracts.
| Whether the transaction is |
|Address of the transaction sender.|
|Gas provided by sender.|
|Target of the transaction.|
|Value transferred in the transaction.|
|Gas used by the transaction. Includes any refunds of unused gas.|
|Return value of the contract call. Contains only the actual value sent by a |
|Traces of contract calls made by the transaction.|
|Tree list address of where the call occurred, address of the parents, and order of the current sub call.|
|Hash of the transaction.|
|Whether the transaction is a |
Displays state changes in the requested block for each transaction, represented as a map of accounts to an object. Lists
the balance, code, nonce, and storage changes from immediately before the transaction to after the transaction. For the
+indicates the field didn’t exist before and now has the specified value.
-indicates a deleted value.
An absent value is distinct from zero when creating accounts or clearing storage. For example, when clearing storage, an absent value means that a particular storage slot has not yet been assigned a value, while a zero value means that the storage slot has been assigned and set to zero.
|Change of balance event|
|Balance before the transaction|
|Balance after the transaction|
|Changes to code. None in this example|
|Change of nonce.|
|Nonce before the transaction.|
|Nonce after the transaction.|
|Changes to storage. None in this example.|