erigon-seg-rebase

star 3.6k

Use the 'erigon seg step-rebase' command to change the step size of an existing datadir. Use when the user wants to rebase segments or modify step sizes.

erigontech By erigontech schedule Updated 6/13/2026

name: erigon-seg-rebase description: Use the 'erigon seg step-rebase' command to change the step size of an existing datadir. Use when the user wants to rebase segments or modify step sizes. allowed-tools: Bash, Read, Glob

Erigon Segment Step Rebase

Overview

The erigon seg step-rebase command changes the step size of an existing Erigon datadir. This is used to modify the granularity of snapshot segments.

Command Syntax

./build/bin/erigon seg step-rebase --datadir=<path> --new-step-size=<size> [other-flags]

Flags

  • --datadir: Path to the Erigon datadir (required)
  • --new-step-size: New step size to rebase to (required; must be an exact divisor or multiple of the current step size from snapshots/erigondb.toml)
  • --keep-blocks: Keep chaindata instead of deleting it. Resets only execution state (domains, history, changesets, prune progress) via the same logic as integration stage_exec --reset, so already-downloaded blocks stay in the DB and get re-executed on next start. Without this flag the whole chaindata DB is deleted and the block tail must be re-downloaded from the network.

The command is interactive: it prints the full rename/delete plan and waits for a y/N confirmation on stdin (echo y | erigon seg step-rebase ... when scripting).

Common Step Sizes

  • 1562500: Default/full stepsize
  • 781250: stepsize/2 (half step)
  • 390625: stepsize/4 (quarter step)

Usage Patterns

Rebase to Half Step

./build/bin/erigon seg step-rebase --datadir=/path/to/datadir --new-step-size=781250

Rebase to Quarter Step

./build/bin/erigon seg step-rebase --datadir=/path/to/datadir --new-step-size=390625

Rebase Keeping Already-Downloaded Blocks

./build/bin/erigon seg step-rebase --datadir=/path/to/datadir --new-step-size=781250 --keep-blocks

Run erigon seg retire first to minimize the re-execution window, then after the rebase start erigon (or run integration stage_exec) to re-execute the kept blocks from the snapshot files' end.

Important Considerations

Before Running

  1. Backup datadir: Consider backing up the datadir before rebasing
  2. Stop Erigon: Ensure Erigon is not running on the target datadir
  3. Verify current step: Check what the current step size is
  4. Ensure Erigon binary is built: run make erigon to build it

After Running

  1. Verify the rebase completed successfully
  2. Check segment files in the datadir
  3. Restart Erigon if needed

Step Sizes

Common step sizes used in Erigon:

  • 1562500: Full/default stepsize
  • 781250: Half step (stepsize/2)
  • 390625: Quarter step (stepsize/4)

The step size affects:

  • Snapshot segment granularity
  • File size and organization
  • Query and sync performance

Workflow

When the user wants to rebase step size:

  1. Confirm parameters

    • Ask for target datadir path
    • Ask for desired step size
    • Confirm if they want to rebase a specific range
  2. Safety checks

    • Verify datadir exists
    • Check if Erigon is running (should not be)
  3. Execute rebase

    ./build/bin/erigon seg step-rebase --datadir=/path/to/datadir --new-step-size=<size>
    
  4. Verify results

    • Check command output for errors
    • List segment files to verify changes

Error Handling

Common issues:

  • "datadir not found": Verify the path is correct
  • "database locked": Stop Erigon process first
  • Invalid step size: Use valid step sizes (1562500, 781250, or 390625)

Examples

Example 1: Rebase datadir to half step

./build/bin/erigon seg step-rebase --datadir=./chaindata --new-step-size=781250

Example 2: Rebase to quarter step

./build/bin/erigon seg step-rebase --datadir=/mnt/erigon/datadir --new-step-size=390625

Tips

  • The operation can be time-consuming for large datadirs
  • Smaller step sizes (like 390625) create more granular segments
  • If building from source, use make erigon to build the binary at build/bin/erigon
Install via CLI
npx skills add https://github.com/erigontech/erigon --skill erigon-seg-rebase
Repository Details
star Stars 3,575
call_split Forks 1,522
navigation Branch main
article Path SKILL.md
More from Creator