Run a Node
Start Here
Syncing a Node

This guide assumes you've completed the Setting Up Your Node step.

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.

Note: Our nodes database backend is pebbledb. Ensure that your node is configured to use the same backend to utilize our snapshots.

Alternative snapshots

Mainnet:

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:

~/.zetacored/config/config.toml
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

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.