Skip to main content

Archival Snapshots

ChainSafe hosts two kinds of snapshots: hourly snapshots (guaranteed to be no more than a few hours old) and archival snapshots (similar to the regular snapshots, but with less duplicate data). Archival snapshots come as 'lite' snapshots, which include the entire block header history back to genesis, and 'diff' snapshots, which only contain the new data since the previous diff snapshot.

Archival snapshots are publicly available here:

Merging snapshots​

Since 'diff' snapshots only contain the new data since the previous diff snapshot, they need to be merged with the previous 'lite' snapshot to form a complete snapshot. This can be done with the forest-tool archive merge command.

forest-tool archive merge --output-file <output-file> <lite-snapshot> <diff-snapshots>

As an example, to get a snapshot that covers epoch 30_000 to epoch 36_000, you merge forest_snapshot_mainnet_2020-09-04_height_30000.forest.car.zst with forest_diff_mainnet_2020-09-04_height_30000+3000.forest.car.zst and forest_diff_mainnet_2020-09-05_height_33000+3000.forest.car.zst.

Generating archival snapshots​

New archival snapshots can be generated either manually with forest-tool archive export or automatically with forest-tool archive sync-bucket. Both commands require a large snapshot file as input.

To generate archival snapshots manually, use these settings:

  • one lite snapshot every 30_000 epochs,
  • one diff snapshot every 3_000 epochs,
  • a depth of 900 epochs for the diff snapshots,
  • a depth of 900 for the lite snapshots.

Manual generation of archival snapshots should be a last resort. The forest-tool archive sync-bucket command is recommended for generating archival snapshots.