# README
Backends
Ethergo supports a wide variety of backends for testing contract and chain interactions. Which one you use depends on your needs. There is usually a trade-off between speed, requirements and visibility.
Backend | Description | Supports RPC Address | Supports Forking | Embedded (does not require Docker) | Speed |
---|---|---|---|---|---|
Anvil | Anvil is a dockerized-backend that supports a wide variety of options including forking, custom gas pricing, etc all configurable at boot time | ✅ | ✅ | ❌ | Slow boot, fast run |
Geth | Geth is an embedded go-ethereum node. This is the equivelant of the geth --dev command. | ✅ | ❌ | ✅ | Fastish boot, fast run |
Simulated | Geth simulated backend | ✅ | ❌ | ✅ | Practically instant |
# Packages
Package anvil is an anvil test backend.
Package base contains a common interface to be used by multiple backends.
Package geth handles creating mock geth clients and simulated backends.
No description provided by the author
Package preset defines preset backends that can be used to create backends of different types.
Package simulated represents a simulated backend.
# Interfaces
ContractVerifier is a hook used to verify contracts with a test provider.
SimulatedTestBackend is a strict subset of TestBackend that all backends must comply with.