0G Mainnet 16661 Height— Snapshot— connecting

Snapshot files

What you download, what is inside it, and what it is tied to. All of it read from the live manifest.

Height
—
—
On the wire
—
zstd -3
Parts
—
fetched in parallel
State age
—
—
Build time
—
—
Layers
EL + CL
geth · 0gchaind

—

/manifests/mainnet/latest.jsonlatest.json ↗

Putting it on a node

The script fills the 0g-home of the official release. For the requirements and what to expect, see Install a node.

One line
curl -fsSL https://labs.0g.exploreme.pro/install.sh | bash -s -- --home ./aristotle-v1.0.6/0g-home
  • refuses a non-empty geth chaindata or existing 0gchaind databases
  • refuses 0gchaind or geth that are not the versions the state was written with
  • checks every part's sha256 while it streams, stops on a mismatch
  • writes the big geth freezer files range by range, in place
  • never overwrites priv_validator_key.json or node_key.json; creates them only if missing

read the file ↗

What it does, step by step
M=$(curl -s $B/manifests/mainnet/latest.json)

# 1. every part, in parallel
range part → zstd -dc → write at
             path + offset
tar part   → zstd -dc | tar -x

# 2. peers, if yours are empty
config.toml  persistent_peers

# 3. you start them
geth      --datadir 0g-home/geth-home …
0gchaind  start --home 0g-home/0gchaind-home …

The parts

A part's filename is its sha256. Large files are split into byte ranges that land straight in place; small files travel in tar parts.

#sha256, which is also the filenameUnpacks toSize
…
—all parts or none

Fingerprints

CometBFT block
—

—

EVM block
—

—

sha256 of parts
—

The sha256 of the parts' own sha256s, sorted and concatenated — one fingerprint for the whole snapshot. The first two numbers are the chain's; this one is ours.

What is inside, and what is not

Ships in the archive
  • geth chaindata: the state (pebble) and the block history geth keeps in its freezer, —
  • 0gchaind application.db (beacon state), state.db, deposits.db, restaking.db, evidence.db
  • blockstore.db with one block, —, rebuilt from our node's blockstore — not block history
  • priv_validator_state.json at height 0
Deliberately absent
  • CometBFT block history — about 130 GB; your node fetches new blocks from peers
  • tx_index.db — the indexer is off on this node
  • cs.wal, geth nodekey, nodes/, keystore
  • config/ — keys and configs come from your release

What this snapshot is tied to

0gchaind
—
—
geth
—
—
Chain
16661
0G-mainnet-aristotle

Read out of the binaries that wrote the state. Run exactly these versions: the beacon state and the geth database are written by them, and a fork activates by timestamp in both layers at once.

How long we keep it

Parts kept
—
current and recent snapshots
Disk they occupy
—
on the builder
Grace
—
after a newer publish

—

/manifests/mainnet/status.jsonstatus.json ↗