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?
debug.setHead. – Ismael Nov 08 '20 at 18:43