This guide assumes you've completed the Setting Up Your Node step.
Option 1: Snapshot method
Downloads the data directory backed up from an existing node.
Choose the network and snapshot type, download the snapshot and extract the snapshot
inside ~/.zetacored
directory.
Our archive snapshots are now available in a multipart format. You can download each part individually by clicking "Show Parts" and selecting the desired one. Alternatively, you can streamline the process by copying the provided POSIX download script. This script automates downloading, packing, and extracting the full snapshot. Simply click the "Copy to Clipboard" icon below the parts list to copy the one-liner command and run it on a terminal.
Snapshots database backend is pebbledb. Ensure that your node is configured to use the same backend to utilize our snapshots.
Alternative snapshots
Mainnet:
- https://polkachu.com/tendermint_snapshots/zetachain (opens in a new tab)
- https://app.nodejumper.io/zetachain/sync (opens in a new tab)
- https://itrocket.net/services/mainnet/zetachain/#snap (opens in a new tab)
Testnet:
- https://app.nodejumper.io/zetachain-testnet/sync (opens in a new tab)
- https://itrocket.net/services/testnet/zetachain/#snap (opens in a new tab)
Option 2: KYVE's KSYNC method
The following doc covers a step by step guide on how to sync a ZetaChain Mainnet node with KSYNC.
KSYNC is a tool capable of syncing blocks and state-sync snapshots from the decentralized KYVE data lake directly into Cosmos blockchain nodes. With KSYNC Cosmos validators don't need to wait for peers in order to block-sync and they don't need to search for trusted app hashes if they want to state-sync. Furthermore, state-syncing to historical heights up to genesis are possible.
More information about KSYNC can be found here: https://docs.kyve.network/ksync (opens in a new tab)
Install KSYNC
Install the latest KSYNC:
go install github.com/KYVENetwork/ksync/cmd/ksync@latest
Verify the installation:
ksync version
Configure the Node
And change the following config in the config.toml
file:
db_backend = "goleveldb"
Changing the db_backend to the default goleveldb is required for now, since KSYNC does not yet support the pebbledb from ZetaChain’s dependency https://github.com/BlockPILabs/cosmos-db (opens in a new tab).
Sync the Node
ksync state-sync --binary="/path/to/zetacored" --chain-id=zetachain_7000-1 --snapshot-pool-id=11
Checking Node Health
Check Logs
To confirm that the node is working, you can watch the logs. The node should be
printing INF
logs like these:
4:10AM INF executed block height=3468229 module=state num_invalid_txs=1 num_valid_txs=24 server=node
4:10AM INF commit synced commit=436F6D6D697449447B5B3139332032323120323438203430203230
4:10AM INF committed state app_hash=C1DDF828CB4126E8239D92FB57006D978664911BF75FDB2606804083C4F65354 height=3468229
4:10AM INF indexed block exents height=3468229 module=txindex server=node
4:11AM INF Timed out dur=4468.382473 height=3468230 module=consensus round=0 server=node step=1
Query Node Status
You can confirm that the node is synced by querying the node status endpoint:
curl localhost:26657/status
Make sure that catching_up
is false. Also, check latest_block_height
and
latest_block_time
.