-
Please give us the way to collect dynamic trace of the transferProxy call to the contract https://github.com/TCT-web3/demo/blob/main/trace-symexec/MultiVulnToken.sol. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
I found there are several ways to retrieve EVM traces of a transaction. a) Replaying the transaction in a full/archive node: Ethereum clients expose methods that attempt to rerun the transaction in the same way it was previously executed and collect the traces. While retrieving the result takes time, nodes are not required to store the traces as long as sufficient information to run the transaction is available. b) Running an archive node with traces enabled: Ethereum clients support running nodes with traces enabled. This would allow nodes to store traces so that they could be retrieved quickly without having to re-execute the transaction. However, this comes at the expense of higher costs and slower node performance. c) Using APIs: Third party services such as Infura or Alchemy manage trace enabled nodes and offers API endpoints to collect transaction trace. Although it is by far the simplest, the downside is that you have to rely on a centralised entity. |
Beta Was this translation helpful? Give feedback.
I found there are several ways to retrieve EVM traces of a transaction.
a) Replaying the transaction in a full/archive node: Ethereum clients expose methods that attempt to rerun the transaction in the same way it was previously executed and collect the traces. While retrieving the result takes time, nodes are not required to store the traces as long as sufficient information to run the transaction is available.
b) Running an archive node with traces enabled: Ethereum clients support running nodes with traces enabled. This would allow nodes to store traces so that they could be retrieved quickly without having to re-execute the transaction. However, this comes at the expense of higher cos…