Cosmos Hub Mainnet
Overview
The current Gaia Version of the Cosmos Hub mainnet is v10.0.x
. To bootstrap a mainnet node, it is possible to sync from v9.1.1
via Quicksync or via State Sync.
For a full set of instructions on boostrapping a mainnet node, see the Hub's Join the Cosmos Hub Mainnet documentation.
🗓️
Scheduled Upgrade The v10
upgrade was proposed through an on-chain software upgrade proposal and is open to voting between 2023-06-02 and 2023-06-16. The upgrade is proposed to take place at block height 15,816,200 which should occur approximately at June 21st, 2023. The chain id will remain cosmoshub-4
.
You can find v10.0.x
tagged code and binaries in the gaia repository.
Upgrades can be a memory intensive process. Please see the guide for the current hardware recommendations. We recommend that you are prepared to upgrade on a machine with sufficient physical memory. Some node operators also choose add 8-16 GB of swap to avoid out of memory issues.
You can check out the Cosmos Hub documentation for a step-by-step tutorial on how to upgrade your node. Version specific upgrade notes using Cosmovisor are provided below.
Upgrading using Cosmovisor
Cosmovisor instructions can be found in the v10 upgrade instructions.
Quickstart
Preresquisites
make
&gcc
Go 1.20+
Note: Make sure to have all prerequisites installed. See the installation docs for clarification and a detailed set of instructions.
Quicksync
Quicksync.io offers several daily snapshots of the Cosmos Hub with varying levels of pruning (archive 1.4TB, default 540GB, and pruned 265GB). For downloads and installation instructions, visit the Cosmos Quicksync guide.
State Sync
To enable state sync, visit an explorer to get a recent block height and corresponding hash. A node operator can choose any height/hash in the current bonding period, but as the recommended snapshot period is 1000 blocks, it is advised to choose something close to current height - 1000. Set these parameters in the code snippet below <BLOCK_HEIGHT>
and <BLOCK_HASH>
For reference, the list of rpc_servers
and persistent
peers can be found in the cosmos hub chain-registry repo.
# Build gaiad binary and initialize chain
cd $HOME
git clone -b v10.0.1 https://github.com/cosmos/gaia
cd gaiad
make install
gaiad init <custom moniker>
# Prepare genesis file for cosmoshub-4
wget https://github.com/cosmos/mainnet/raw/master/genesis.cosmoshub-4.json.gz
gzip -d genesis.cosmoshub-4.json.gz
mv genesis.cosmoshub-4.json $HOME/.gaia/config/genesis.json
#Set minimum gas price & peers
sed -i 's/minimum-gas-prices = ""/minimum-gas-prices = "0.001uatom"/' app.toml
sed -i 's/persistent_peers = ""/persistent_peers = "[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656"/' config.toml
# Configure State sync
cd $HOME/.gaia/config
sed -i 's/enable = false/enable = true/' config.toml
sed -i 's/trust_height = 0/trust_height = <BLOCK_HEIGHT>/' config.toml
sed -i 's/trust_hash = ""/trust_hash = "<BLOCK_HASH>"/' config.toml
sed -i 's/rpc_servers = ""/rpc_servers = "https:\/\/rpc.cosmos.network:443,https:\/\/rpc.cosmos.network:443"/' config.toml
#Start Gaia
gaiad start --x-crisis-skip-assert-invariants
NOTE: If the node is unable to connect to any of the seeds listed here, find additional seeds and peers in this document maintained by community members, which is automatically generated by crawling the network. Additionally, node operators can just copy Quicksync's addressbook and move it to
$HOME/.gaia/config/addrbook.json
Upgrade to Validator Node
You now have an active full node. What's the next step? You can upgrade your full node to become a Cosmos Validator. The top 180 validators have the ability to propose new blocks to the Cosmos Hub. Continue onto the Validator Setup.