OpenViSTAI · Agents · Blockchain · Crypto
Menu
Developer Tools

Ethshadow

Ethshadow is a Rust command-line tool for configuring and running discrete-event simulations of Ethereum networks with actual Ethereum clients. It uses Shadow as its network simulator and accepts YAML configuration for scenario parameters such as duration, node count and validator count.

Independent OpenViST project profile, based on linked sources.

Ethshadow — OpenViST project profile in Developer Tools.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use Ethshadow when a local, configurable simulation with real Ethereum client software is more useful than a simulation built from simplified client models.

Who it is for

  • Ethereum protocol developers testing changes implemented in supported clients
  • Researchers and developers comparing client behavior in simulated networks

Documented uses

  • Configure simulated node and validator counts and a run duration.
  • Run Ethereum network scenarios using supported execution and consensus clients.
  • Inspect per-process output after a simulation.
Before you choose

Requirements & limits

The project is a public-source repository licensed under GPL-3.0. Its documented workflow installs and runs the command-line tool locally.

  • The setup is developer-oriented and involves installing Go, Rust, Docker, Shadow and Ethereum clients.
  • Client support is uneven: the project marks clients as working out of the box, requiring modifications, unavailable or not yet tested.
  • The documented quickstart uses Geth and Lighthouse and writes process output to Shadow host data directories.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Set up and run a basic Ethereum simulation

Install Ethshadow and its documented dependencies, run a YAML-configured scenario, and locate process logs.

Before you start

  • Go, Rust and Docker installed
  • Geth, Lighthouse and Shadow installed as described in the project quickstart

Steps

  1. Clone the Ethshadow repository and install it with the command below.

    Documented command
    cargo install --path .
  2. Create a YAML configuration with general.stop_time, general.progress, ethereum.validators and ethereum.nodes values.

  3. Run the configuration with ethshadow myfirstsim.yaml.

  4. Inspect process standard output and standard error under ./data/shadow/hosts.

Expected outcome

A simulated Ethereum network runs for the configured duration, with per-process output available in the Shadow host data directories.

Guide limitations

  • The quickstart’s example uses Geth and Lighthouse; client support varies, and some clients require modifications or are unavailable or untested.
  • The client support criterion covers chain following and required validation duties, not necessarily other features.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
15 October 2026
Original website title
ethereum/ethshadow · Official homepage title · retained in its source language