Restoring from Snapshot
These steps assume you are in the clonednode directory (the one containing docker-compose.yml).
These steps use the
base-reth-node CLI to download snapshots. If you don’t already have it, follow the installation instructions to install it first.-
Prepare Data Directory:
- Before running Docker for the first time, create the data directory on your host machine that will be mapped into the Docker container. This directory must match the
volumesmapping in thedocker-compose.ymlfile. - If you have previously run the node and have an existing data directory, stop the node (
docker compose down), remove the contents of the existing directory (e.g.rm -rf ./reth-data/*), and proceed.
- Before running Docker for the first time, create the data directory on your host machine that will be mapped into the Docker container. This directory must match the
-
Choosing the chain: Use the
--chainflag to select the network -
Download Snapshot: V2 snapshots are split into many small, segmented files rather than a single archive. The CLI lists one
archivesnapshot because it contains all available files. Thefullandminimaloptions select progressively smaller subsets of that archive:The above presets are convenient defaults that are available at chain.base.org/snapshots. You may still configure custom pruning flags with the flag. It is required to download the archival snapshot and then configure your custom pruning args.Ensure you have enough free disk space to download the snapshot and extract its contents. The extracted data will be significantly larger than the archive.Alternatively, for archival nodes only, you may runbase db migrate-v2. However, this is expected to take much longer than downloading.--resumableis also not supported inmigrate-v2. -
(Optional) - tuning download concurrency:
The
--download-concurrencyflag controls how many simultaneous HTTP downloads run across the whole snapshot job. It defaults to8, which is a good baseline for most machines. If you have high-end hardware, you can safely increase it to speed up the download. A good rule of thumb is 2× the number of physical CPU cores: -
Start the Node: Now that the snapshot data is in place, return the root of your Base node folder and start the node:
Your node should begin syncing from the last block in the snapshot.
-
Verify: Monitor the node logs (
docker compose logs -f <service_name>) or use the sync monitoring command to ensure the node starts syncing from the snapshot’s block height.
Proofs Snapshots
V2 Proofs Snapshots are coming soon.
aria2c, a resumable downloader that handles the periodic connection interruptions imposed by Cloudflare. If you don’t have it installed:
Ensure you have enough free disk space to download the snapshot archive (
.tar.gz / .tar.zst file) and extract its contents. The extracted data will be significantly larger than the archive.snapshot-filename with the actual downloaded filename:
reth directory. Move the contents of that directory into the data directory you created in Prepare Data Directory in the section above:
chaindata, nodes, segments, etc.) directly inside ./reth-data, not in a nested subfolder. Once confirmed, you can safely delete the downloaded snapshot archive (.tar.gz file) to free up disk space.
Then continue from Start the Node in the section above.
FAQ
What's the difference between a Full and Minimal node?
What's the difference between a Full and Minimal node?
In Reth, a “full” node is just a pruned node with a specific preset rather than a distinct node type. Reth’s
--full preset retains the last 10,064 blocks (~1.4 days on Ethereum; ~5-6 hours on Base due to faster block times).To read more about the difference between a Full and Minimal node, see the Reth docs.How do I run my previous pruned node setup with v2 storage?
How do I run my previous pruned node setup with v2 storage?
If your v1-storage pruned node had a pruning distance of more than 10064 blocks, it is required to pull an Archival snapshot and then add the prune args.Full will not work because it’ll only have the last 10064 blocks.
I'm seeing: Archive extracted, but output verification failed.
I'm seeing: Archive extracted, but output verification failed.
This is caused due to a newer snapshot being uploaded during the time your download is happening. Please interrupt the download command and re-run it.Note: The download is idempotent, so it will not re-download files that have already been downloaded; it will only fetch the diff.