Before starting, make sure you meet the following requirements:
Server Requirements:
Linux-based operating system (Ubuntu 20.04 LTS recommended)
4+ CPUs
8+ GB of RAM
200 GB SSD storage
Reliable internet connection (1 Gbps recommended)
Software Requirements:
Latest version of Go
(1.18 or higher)
Git
GaiaNet source code
Wallet:
Before you begin setting up the node, make sure to update your system packages:
sudo apt update && sudo apt upgrade -y
Install necessary dependencies:
sudo apt install -y build-essential git curl jq
GaiaNet requires Go
for compiling its binaries. Install it by running:
curl -OL https://golang.org/dl/go1.19.5.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.19.5.linux-amd64.tar.gz
Add Go to your environment variables:
echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.profile
source ~/.profile
Verify the installation:
go version
Clone the GaiaNet repository from GitHub:
git clone https://github.com/GaiaNetProject/gaianet.git
cd gaianet
Checkout the latest stable version:
git checkout v1.0.0
Now, you need to build the GaiaNet binary:
make install
Ensure the binary is correctly installed by checking the version:
gaianetd version
Initialize the node by running:
gaianetd init <your-node-name> --chain-id=gaia-mainnet
This will create the basic configuration and genesis files for your node.
Fetch the genesis file from the GaiaNet official repository:
curl -O https://raw.githubusercontent.com/GaiaNetProject/mainnet/master/genesis.json
mv genesis.json ~/.gaianetd/config/genesis.json
Set persistent peers and seeds in the config.toml
file:
nano ~/.gaianetd/config/config.toml
Look for the seeds
and persistent_peers
fields and add official peers:
seeds = "node1@seed.gaiainet.org:26656,node2@seed.gaiainet.org:26656"
Now that your node is configured, start the GaiaNet service:
gaianetd start
Your node will begin syncing with the GaiaNet blockchain. Depending on your server and internet speed, the syncing process may take some time.
Once the node is synced, you’re ready to create a validator. First, ensure your wallet has enough funds to meet the staking requirements.
Delegate tokens to create your validator using the following command:
gaianetd tx staking create-validator \
--amount 1000000ugaia \
--pubkey $(gaianetd tendermint show-validator) \
--moniker <your-validator-name> \
--chain-id gaia-mainnet \
--commission-rate "0.10" \
--commission-max-rate "0.20" \
--commission-max-change-rate "0.01" \
--min-self-delegation "1" \
--gas auto \
--from <your-wallet-name>
This command will create your validator node on the GaiaNet network.
You can monitor your node’s status using the following command:
gaianetd status
To view logs:
journalctl -u gaianetd -f
Congratulations! You’ve successfully set up a validator node on the GaiaNet blockchain. By participating as a validator, you contribute to the security and efficiency of the network. Keep your node online, monitor its performance regularly, and ensure you follow GaiaNet updates for any critical changes.