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.