Cosmos Hub Snapshots, provided by 0base VC
Automated, verified cosmoshub-4 snapshots. This is a non-validator full node and does not sign blocks.
Each archive contains the stopped node's data/ directory with PebbleDB. The archive is published only after checksum, restore, application-state, chain ID, height, peer, and post-restore block checks pass. HTTP Range requests are enabled for resumable downloads.
| Height | Created (browser local time) | Size | Files |
|---|---|---|---|
| loading… | |||
Compatible software: the current Cosmos Hub upgrade-compatible Gaia build. The archive contains the node data/ directory with the PebbleDB application database. Disposable local state-sync files under data/snapshots/ are intentionally excluded to keep the download small.
# Download and verify the exact archive named by the public catalog.
export COSMOS_HOME="${COSMOS_HOME:-$HOME/.gaia}"
mkdir -p "$COSMOS_HOME"
SNAPSHOT_META="$(curl -fsS https://cosmos.0base.vc/api/snapshots.json | jq -e '.[0]')"
SNAPSHOT_FILE="$(printf '%s' "$SNAPSHOT_META" | jq -er '.filename')"
SNAPSHOT_URL="https://cosmos.0base.vc/snapshots/$SNAPSHOT_FILE"
curl -fL -C - -o "$SNAPSHOT_FILE" "$SNAPSHOT_URL"
curl -fL -o "$SNAPSHOT_FILE.sha256" "$SNAPSHOT_URL.sha256"
sha256sum -c "$SNAPSHOT_FILE.sha256"
zstd -t "$SNAPSHOT_FILE"
# Stop gaiad and keep a recoverable copy of the old data directory.
systemctl stop gaiad 2>/dev/null || true
if [ -d "$COSMOS_HOME/data" ]; then
mv "$COSMOS_HOME/data" "$COSMOS_HOME/data.before-snapshot-$(date -u +%Y%m%dT%H%M%SZ)"
fi
zstd -dc "$SNAPSHOT_FILE" | tar -xf - -C "$COSMOS_HOME"
# Before starting, retain the official cosmoshub-4 genesis and ensure app.toml contains:
# app-db-backend = "pebbledb"
# pruning = "custom"
# pruning-keep-recent = "100"
# pruning-interval = "10"
gaiad start --home "$COSMOS_HOME"
# Verify the restored chain and application state after the node starts.
curl -fsS http://127.0.0.1:26657/status | jq '.result.node_info.network, .result.sync_info.catching_up'
curl -fsS http://127.0.0.1:1317/cosmos/base/tendermint/v1beta1/node_info | jq '.default_node_info.network'
curl -fsS http://127.0.0.1:1317/cosmos/staking/v1beta1/params | jq '.params.bond_denom, .params.max_validators'
# The restored node is ready only when it is on cosmoshub-4,
# has peers, and is no longer catching up.
curl -fsS http://127.0.0.1:26657/status | jq '{chain_id:.result.node_info.network,height:.result.sync_info.latest_block_height,catching_up:.result.sync_info.catching_up}'
curl -fsS http://127.0.0.1:26657/net_info | jq '.result.n_peers'