Simulator Images¶
The ethereum/eels/* simulators in ethereum/hive can run from ready-to-run images under ghcr.io/ethereum/execution-specs/hive/. Each image contains the simulator and its test content. Hive pulls the image and builds a small wrapper; it does not clone execution-specs, install Python dependencies or extract a fixture tarball during the simulator build.
A simulator tag selects the tests. Consume images contain a release's generated fixtures; execute images contain the Python test sources from the release commit. Release tags are immutable; channel tags (latest, <name>-devnet-<n>) pair a branch's highest release with the branch head and so pick up framework fixes. Nightly images use the fill commit for both tests and framework.
Choose a tag¶
Pass a tag with --sim.buildarg tag=<tag>. These examples illustrate the publishing scheme; a tag is usable once its branch and release have been published.
| To run | Use | What changes |
|---|---|---|
| The latest mainnet release | latest (default) |
Tests advance with releases; framework follows the default branch. |
| One devnet | glamsterdam-devnet-8 |
Tests advance within devnet 8; framework follows devnets/glamsterdam/8. |
| A specific release | glamsterdam-devnet-v8.1.4 or v20.0.2 |
Nothing: release tags are immutable. |
| The most recent nightly fill | nightly |
Tests and framework advance together with each published fill. |
| An exact image from an earlier run | <tag>@sha256:<digest> |
Neither tests nor framework changes. Requires the retained image digest. |
On a machine that has run Hive before, add --docker.pull to refresh a moving tag. Without it, Docker can reuse the locally cached image. See the full tag reference for release-name mappings, commit tags and the distinction between simulator and repository images.
Run or build an image¶
- Run a simulator: build Hive, run a few tests, and read the source versions in the log.
- Choose tags and reproduce runs: follow a devnet, pin tests or image bytes, and build combinations that are not published.
- Image and tag reference: image names, tags, options, provenance and build helpers.
- How images are built: design choices, source compatibility, layer reuse and costs.
The simulator images combine a repository image (code and dependencies) with a fixture image or a release test-source image. These components are also published for local builds. Publishing Simulator Images covers the workflow and rollout.
Migrate an existing Hive command¶
The image Dockerfiles accept tag in place of fixtures and branch, which are deprecated: without a tag they still select a source build of the framework and fixtures during the deprecation window, slower than a published image and with a notice in every run. To keep building from a Git ref and selecting fixtures independently, choose Dockerfile.git through --config; see Build from source.