kurtosis-test

Runs local Kurtosis Ethereum testnets against a locally-built erigon image and triages failures.

3.6k|1.5k|Updated May 27, 2019
One-click install
npx skills add https://github.com/erigontech/erigon --skill kurtosis-test
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: kurtosis-test
Source: https://github.com/erigontech/erigon/tree/main/.claude/skills/kurtosis-test
Command: npx skills add https://github.com/erigontech/erigon --skill kurtosis-test

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Reproducing and debugging erigon behavior in a multi-client Ethereum testnet normally requires the GitHub Actions CI workflow, which is not portable to a local machine. This Skill runs the equivalent of the test-kurtosis-assertoor CI pipeline locally via the raw Kurtosis CLI, so you can reproduce, debug, and validate erigon against an ethereum-package config interactively.

Core Features & Use Cases

  • Local testnet orchestration: Builds the test/erigon:current Docker image, maps config files to the correct ethereum-package branch, and launches a Kurtosis enclave with EL/CL/assertoor/spamoor services.
  • Health monitoring and triage: Polls block height, assertoor test results, and erigon logs, then applies a cross-client comparison methodology to classify failures as erigon bugs, peer-client bugs, or config/spec issues.
  • Autonomous fix loop: Iterates fix → rebuild → rerun up to a configurable attempt cap, dumping enclave logs on every run for post-mortem analysis.
  • Use Case: You suspect erigon mishandles a payload on the glamsterdam fork. Point the Skill at glamsterdam.io, let it spin up the testnet, watch it detect an eth_newPayloadV4 INVALID response, triage it against peer clients, and propose a source fix.

Quick Start

Run the kurtosis-test skill with the config file .github/workflows/kurtosis/pectra.io to spin up a local testnet and monitor erigon for twenty minutes.

Frequently Asked Questions about kurtosis-test

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run a local Kurtosis testnet against erigon?

Build the image with docker build -t test/erigon:current --build-arg BINARIES="erigon capbin" ., then run kurtosis run with the appropriate ethereum-package branch and your config YAML via --args-file. This Skill automates that entire flow including enclave naming and port discovery.

How do I debug erigon failures in a multi-client testnet?

Use cross-client comparison: find the same slot or block in peer-client logs and check whether erigon rejects what others accept. The Skill's triage table maps symptoms like INVALID payloads, panics, and block stalls to likely owners and next debugging steps.

Which ethereum-package branch should I use for each test config?

regular-assertoor.io and pectra.io use ethereum-package 5.0.1, glamsterdam.io uses 6.1.0, and the caplin suites require the erigontech fork branch fix-caplin-launcher. Unknown configs default to 5.0.1 with user confirmation.

Why does kurtosis run fail with a GpuConfig Starlark error?

The ethereum-package main branch introduced a GpuConfig built-in requiring Kurtosis CLI 1.18.1 or newer. Either upgrade the CLI or use one of the pinned package branches like 5.0.1 or 6.1.0, which predate that change.

What are the prerequisites for running this Kurtosis testing workflow?

You need Docker running, the Kurtosis CLI installed, curl and jq on your PATH, and the erigon source tree as the working directory. The Skill verifies these before building the image and launching the enclave.

What happens when the automated fix loop reaches its attempt limit?

After max-attempts consecutive failures (default 5), the loop halts and prints the per-attempt history of symptoms, hypotheses, fixes, and outcomes. It never auto-applies further fixes past the cap, and ambiguous triage results pause for user approval regardless.