erigondb-sync-integration-test-plan

Validates erigondb.toml settings resolution across legacy, downloader, and no-downloader Erigon runtime scenarios.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Changes to Erigon's erigondb.toml resolution logic (creation, defaults, legacy detection, downloader delivery) can silently break one of three runtime paths. This Skill provides a repeatable integration test plan that verifies settings resolution end-to-end across legacy datadirs, fresh syncs with the downloader, and fresh syncs with --no-downloader.

Core Features & Use Cases

  • Three-scenario coverage: Tests legacy datadir migration, fresh sync with downloader-delivered settings, and fresh sync with --no-downloader defaults.
  • Isolated ephemeral datadirs: Uses cloned or empty ephemeral datadirs with distinct port offsets (+100, +200, +300) so the user's real node data is never touched.
  • Explicit success criteria: Defines expected log messages, step_size values, references_in_commitment_branches values, and file-creation timing for each scenario.
  • Use Case: After modifying the erigondb.toml resolution code, run this plan against a hoodi legacy datadir to confirm legacy settings (step_size = 1562500) are written on startup, network settings propagate during header-chain download, and defaults are written immediately with --no-downloader.

Quick Start

Run the erigondb.toml integration test plan for chain hoodi using my legacy datadir at ~/eth-nodes/erigon33-hoodi-stable.

Frequently Asked Questions about erigondb-sync-integration-test-plan

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

FAQPage Schema
How do I test erigondb.toml settings resolution in Erigon?

Run the three-scenario integration test plan: start Erigon on a legacy datadir clone, a fresh datadir with the downloader, and a fresh datadir with --no-downloader. Check logs and the generated snapshots/erigondb.toml file against the expected step_size and references_in_commitment_branches values for each scenario.

What step_size should erigondb.toml have for legacy datadirs?

Legacy datadirs (those with preverified.toml but no erigondb.toml) get step_size = 1562500 with references_in_commitment_branches = true written immediately on startup. Fresh syncs with the downloader may receive a different network-published value, such as 390625 for hoodi.

Does erigondb.toml get rewritten after the downloader delivers it?

No, a downloaded erigondb.toml is never rewritten because it is synced snapshot metadata. A producer-published value such as references_in_commitment_branches = false survives on consumer nodes, while an absent field normalizes to true in memory.

Why does the test plan use ephemeral datadir clones?

Cloning the legacy datadir into an ephemeral copy isolates the test so the user's original node data is never modified. Each scenario also uses a distinct port offset (+100, +200, +300) to avoid port conflicts between running instances.

When should I run this integration test plan?

Run it after any changes to erigondb.toml resolution logic, including creation, defaults, legacy detection, or downloader delivery. It confirms all three runtime paths still behave correctly end-to-end, complementing the unit tests in db/state/erigondb_settings_test.go.