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.
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.
./build/bin/erigon seg step-rebase --datadir=<path> --new-step-size=<size> [other-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).
1562500: Default/full stepsize781250: stepsize/2 (half step)390625: stepsize/4 (quarter step)./build/bin/erigon seg step-rebase --datadir=/path/to/datadir --new-step-size=781250
./build/bin/erigon seg step-rebase --datadir=/path/to/datadir --new-step-size=390625
./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.
make erigon to build itCommon step sizes used in Erigon:
1562500: Full/default stepsize781250: Half step (stepsize/2)390625: Quarter step (stepsize/4)The step size affects:
When the user wants to rebase step size:
Confirm parameters
Safety checks
Execute rebase
./build/bin/erigon seg step-rebase --datadir=/path/to/datadir --new-step-size=<size>
Verify results
Common issues:
./build/bin/erigon seg step-rebase --datadir=./chaindata --new-step-size=781250
./build/bin/erigon seg step-rebase --datadir=/mnt/erigon/datadir --new-step-size=390625
make erigon to build the binary at build/bin/erigon