Cosmos team planned to start Gaia-9000 testnet with Gaiad built upon Cosmos-SDK v0.25.0 in previous announcement. But, since there are too many breaking changes and it’s difficult to provide a feature-complete software in one single release. In the end, the team used Cosmos-SDK v0.26.0 to bootstrap Gaia-9000 testnet. The breaking changes in this release are explained in this blog.
Centralized Bootstrap Validatorset
In previous iteration of Gaia testnet, the genesis file is based on a snapshot of previous testnet. In this way, we achieved a distributed form of bootstrap. The advantage of this kind is to engage community members more. But in Gaia-9000 it’s impossible to export validatorset info from previous. So, the team went with exporting the balance state and giving everyone 50 steaks. Cosmos team launched a four-node swarm first, then everyone could claim their candidacy later.
Gaia-9000
The genesis file for Gaia-9000 was published Friday. But, it was turned out to be wrong since the new gentx process needs all genesis validators to sign the bonding transactions and the signatures’s chain-id mismatched. The team quickly fixed the generation process and Gaia-9000 finally went live.
However, we still discover two major bugs in this release:
- Prometheus is broken
- Seed nodes don’t sync
In summary, the network was stalled! The peer exchanging issue was critical and the Addressbook got entries of node without a Peer-ID. This is a Tendermint issue. The team made some patches and fixed the Prometheus issue. Seed node mode can function normally again. A new release candidate was made and more details on this PR and the team published a new genesis file.
R.I.P Gaia-9000!
How to join Gaia-9001
- Install the correct version of Gaiad
git checkout --v0.26.1-rc1
make all
Verify Gaiad
Version
0.26.1-rc1-0-gbb54a0de
Download Genesis File
wget https://raw.githubusercontent.com/cosmos/testnets/master/gaia-9001/genesis.json
Configure the Node
persistent_peers="6a04069a2736f096404df2bbc31d7c2807c080c0@gaia-validator1.interblock.io:26656,aa3464017cd5abd9ff0204f2e161d66f9442db29@gaia-validator2.interblock.io:26656,f7290d305237b3fef01a59a4919aa6b399234983@gaia-validator3.interblock.io:26656,a966b0806aca7e62d5c43d8bd09425aecdcf44f2@gaia-validator4.interblock.io:26656"seeds = "7c8b8fd03577cd4817f5be1f03d506f879df98d8@gaia-seed1.interblock.io:26656,a28737ff02391a6e00a1d3b79befd57e68e8264c@gaia-seed2.interblock.io:26656,987ffd26640cd03d08ed7e53b24dfaa7956e612d@gaia-seed3.interblock.io:26656,09dafbaa69899c220d2651f51205eefe9f78737a@gaia-seed4.interblock.io:26656"
After these steps, you could start your node with:
gaiad start
Common Issue
- Configuration File
In previous release, the default value of commit-timeout was wrong. So, make sure your configuration is the following:
timeout_propose = “3s”
timeout_propose_delta = “500ms”
timeout_prevote = “1s”
timeout_prevote_delta = “500ms”
timeout_precommit = “1s”
timeout_precommit_delta = “500ms”
timeout_commit = “5s”
- Client Query
This version of Gaiacli
introduce light-client proof. By default, the light client is not under trust-mode. So if you execute:
gaiacli query signing-info $(gaiad tendermint show-validator) --chain-id gaia-9001
You could run into the following error
ERROR: Invalid commit -- insufficient old voting power: got 200, needed 267
More in this issue.
To by pass this error, you should add trust-node= true
in your command.
Useful Links
- Explorers
- Faucet
Coming soon ^^