-
Notifications
You must be signed in to change notification settings - Fork 8
Description
Summary
Build a local development environment tool that spins up a fully functional ev-reth chain in one command, with funded accounts, working RPC, and pre-deployed contracts. Analogous to Optimism's Supersim or Hardhat's local node, but tailored for Evolve chains.
Motivation
Today there's no fast path for a developer to go from "I want to build on Evolve" to "I have a running local chain I can deploy contracts to." The current setup requires manually configuring chainspec, genesis, and node parameters. This is the single biggest friction point for developer adoption.
OP Stack solved this with Supersim (brew install supersim -> supersim -> done). Hardhat solved it with npx hardhat node. We need the equivalent.
What developers need from a local dev chain
- One command startup:
ev-devorcargo run --bin ev-dev-> chain running athttp://localhost:8545 - Pre-funded accounts: 10+ deterministic accounts with ETH (same as Hardhat/Anvil defaults for familiarity)
- Pre-deployed system contracts: Mint precompile, base fee sink, deploy allowlist -- whatever is in the chainspec extras, activated at genesis
- Working RPC: Full
eth_*namespace,debug_*for tracing,evolve_*for custom endpoints - Fast blocks: Use the 100ms block time by default so developers see transactions confirm instantly
- Console output: Log transactions as they land (like Anvil's verbose mode)
- Reset/snapshot: Ability to snapshot state and revert (useful for testing)
Nice to haves
- Fork mode: Fork from a live Evolve chain (like Anvil's
--fork-url) - Blockscout auto-start: Optionally spin up a local block explorer alongside the chain
- Docker compose: For CI and teams that prefer containers
- Kurtosis package: For integration testing with the full ev-node stack (sequencer + DA + ev-reth)
ev-node considerations
The local dev environment can operate in two modes:
- Standalone mode (default): ev-reth runs with
reth-engine-local(no external consensus). Good for contract development and testing. No ev-node dependency. - Full stack mode: ev-reth + ev-node sequencer + mock DA. Useful for testing the full transaction flow (submit to sequencer -> Engine API -> block). This would likely be a Kurtosis package or docker-compose.
Standalone mode should be the default -- developers building Solidity contracts don't need to know about ev-node.
Implementation options
- Thin wrapper binary (
ev-dev): Preconfiguredev-rethwith hardcoded devnet chainspec,reth-engine-localfor self-sufficient block production, and ANSI-formatted tx logging. - Kurtosis package (
ev-reth-package): For full-stack testing. Defines services for ev-reth, ev-node sequencer, mock DA, and optionally Blockscout.
Prior art
- Optimism Supersim -- local multi-L2 dev env, pre-deployed contracts, fork mode
- Hardhat Network --
npx hardhat node, console logging, forking - Anvil -- fast local node, snapshot/revert, fork mode
- ethpandaops/optimism-package -- Kurtosis OP Stack devnet
Metadata
Metadata
Assignees
Labels
Type
Projects
Status