Virtual TestNets are live! ⚡️ Test and stage dapps on real-time production data.  Schedule Office Hours

All Products

Simulator UI

Simulator UI Overview

The Simulator UI gives you an IDE-like experience when simulating transactions. You can either build a transaction from scratch or load an existing transaction into Transaction Simulator, tweak the inputs, and override state variables or the smart contract code.

Replaying an existing transaction using a simulation allows you to:

  • Validate bugfixes by running simulations on modified smart contract source code.
  • Validate adjustments to transaction parameters to find optimal inputs.
  • Troubleshoot an existing transaction, either a reverted one or a successful transaction with undesired effects.

Using the Simulator UI

You can use the Simulator UI to:

Building a simulation

When building a transaction simulation, you can:

  • Run a simulation off of an existing transaction by clicking Re-Simulate button on Inspect Transaction page. By default, the simulation executes on the block and timestamp of the original transaction.
  • Build a simulation scratch, by choosing a contract, method to call, and arguments to pass.
  • Use either the latest block number or specify a historical block number.
  • Run a simulation on changed smart contract source code.
  • Override smart contract state variables.
  • Override a block header by specifying custom blockNumber and timestamp values that the smart contract code receives through block.number and block.timestamp respectively.
  • Specify an arbitrary sender (from).
  • Specify an arbitrary gas and gasPrice for this particular simulation.