Skip to content

πŸ“¦ Using Jovay Ledger Snapshots ​

πŸ“– Introduction ​

Jovay publishes Sequencer ledger snapshots on a regular schedule so you can bootstrap nodesβ€”especially a State Derivation (SD) Sequencerβ€”from recent rollup state without syncing the full chain history.

Each release ships three artifacts for a given network:

ArtifactDescription
πŸ“œ genesis.confFixed genesis configuration for the network (same file for every release on that network).
πŸ—œοΈ <YYYYMMDD>_<BLOCK_HEIGHT>.tar.gzCompressed ledger database snapshot.
βš“ snapshot_anchor.jsonL1 cursor seed for State Derivation. The current implementation begins scanning from the following L1 block.

Archive names follow YYYYMMDD_BLOCKHEIGHT.tar.gz (YYYYMMDD = publish date, BLOCK_HEIGHT = L2 stable height in the snapshot). The matching anchor is published at state-derivation/YYYYMMDD_BLOCKHEIGHT/snapshot_anchor.json.

πŸ“Œ Retention: Only the latest snapshot per network is kept on the CDN. Older archives are removed when a new one is published.

⏱️ Cadence: Snapshots are published approximately every 14 days.

πŸ’Ύ Capacity planning: The current Testnet archive is about 126 GiB compressed and expands to about 360 GiB. Keep the archive and extracted ledger on the same filesystem only if it has at least 600 GiB free, including room for database growth. Snapshot sizes will increase as the chain grows.

🎯 What You Need From a Snapshot ​

Before starting an SD Sequencer, download all three artifacts for your target network from the table below:

  1. βœ… genesis.conf
  2. βœ… Latest <YYYYMMDD>_<BLOCK_HEIGHT>.tar.gz
  3. βœ… Matching snapshot_anchor.json

βœ… Recommended image: Use product version 0.15.0, published as jovay-release-registry.cn-hongkong.cr.aliyuncs.com/jovay/l2-sequencer:0.15.0-rc1. This exact tag has been validated end to end with the current Testnet snapshot.

πŸ“Š Latest Jovay Ledger Snapshots ​

Testnet (Sepolia L1) ​

FileRecommended Sequencer versionL2 block heightFile nameChecksumsDownload
πŸ“œ genesis.conf0.15.0-rc1β€”genesis.confMD5: 1b6ad3d9fa67a596ca094e89bd2280ee
SHA-256: 772cdd59b915787a5bca57f7bba0584333081f8749a7f702f5bba60819000fad
link
πŸ—œοΈ Ledger snapshot0.15.0-rc14678737220260916_46787372.tar.gzMD5: 16212a19ffa5c6b1d871bb7c9f23a9c6
SHA-256: 95f502b62e2ea7982cfe9006d4b087d840984db9bfed23c4a7fd3314d850e40e
link
βš“ snapshot_anchor.json0.15.0-rc146787372snapshot_anchor.jsonMD5: 478e9f5175cb3ea659b0eceddc5a23d3
SHA-256: 4beedfd0e2147a97eb34e847a06b74c7b62adf64952f3f41f11cfe2a08183ee1
link

Mainnet (Ethereum L1) ​

FileRecommended Sequencer versionL2 block heightFile nameChecksumsDownload
πŸ“œ genesis.conf0.15.0-rc1β€”genesis.confMD5: 502c910cbc21137c606621622fe67d28
SHA-256: d436f01b2e25d1946e63d885cb1dd3136da0e3d3beaf300f6f3f4482aff6b5d9
link
πŸ—œοΈ Ledger snapshotβ€”β€”Not available yetβ€”Not available yet
βš“ snapshot_anchor.jsonβ€”β€”Not available yetβ€”Not available yet

⚠️ The Mainnet ledger snapshot and matching anchor have not been published yet. Do not start a Mainnet SD Sequencer until both rows above contain a real release.

After downloading all three artifacts, verify each file's SHA-256 checksum against the table above. MD5 values are retained for compatibility and accidental-transfer checks, but SHA-256 is the primary integrity check:

bash
sha256sum genesis.conf
sha256sum <YYYYMMDD>_<BLOCK_HEIGHT>.tar.gz
sha256sum snapshot_anchor.json

# Optional compatibility check
md5sum genesis.conf <YYYYMMDD>_<BLOCK_HEIGHT>.tar.gz snapshot_anchor.json

πŸ—‚οΈ Snapshot Archive Structure ​

The archive has one top-level public/ directory. It contains 11 database directories and no loose files at that level:

Example (tree -L 1 public after extraction):

text
public/
β”œβ”€β”€ BlockBodySliceKvDB
β”œβ”€β”€ BlockHeaderKvDB
β”œβ”€β”€ BlockIndexKvDB
β”œβ”€β”€ BlockMetaKvDB
β”œβ”€β”€ BlockRwSetDB
β”œβ”€β”€ ContractCodeKvDB
β”œβ”€β”€ MetaKvDB
β”œβ”€β”€ PersistTxKvDB
β”œβ”€β”€ ProofKvDB
β”œβ”€β”€ StateDB
└── TxIndexKvDB

11 directories, 0 files

When deploying an SD Sequencer, extract these folders into data/public/ β€” see Start a State Derivation Sequencer.

βš“ snapshot_anchor.json Format ​

json
{
  "l1_start_block_number": 24933000
}
FieldDescription
l1_start_block_numberInitial value of the persisted L1 indexer cursor. The current implementation scans from l1_start_block_number + 1. Always use the snapshot_anchor.json published with your snapshotβ€”do not guess or edit this value.

πŸš€ Next Steps ​

Ready to run a node? Continue with Start a State Derivation Sequencer.

For Jovay RPC URLs and chain IDs, see Network Information.