3

I am trying to fuzz a smart contract on Geth, which involves contract state exploration. In order to explore a contract state S1, different contract functions with different inputs will be executed on the given state.

E.g., executing function F1 on S1 produces new state S2. How can I revert the contract state back to S1? In Ganache CLI, there are two custom management API, evm_snapshop() and evm_revert(), evm_snapshot() stores the evm snapshot and returns an ID, when evm_revert() is executed with the ID, the evm goes back to the snapshot state.

Is there anything similar to this in Geth? Or do I just have to start all over again by re-executing all the previous transactions to reproduce a contract state?

Huadong Feng
  • 211
  • 2
  • 8

0 Answers0