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.jsonornode_key.json; creates them only if missing
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 filename | Unpacks to | Size |
|---|---|---|---|
| … | |||
—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.dbwith one block, —, rebuilt from our node's blockstore — not block historypriv_validator_state.jsonat 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 nodecs.wal, gethnodekey,nodes/, keystoreconfig/— 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 ↗