Install
Recommended Hardware: 8 Cores, 16GB RAM, 250GB of storage (NVME)
Chain ID: provider | Latest Version Tag: v25.1.0
Dependencies Installation
Update system and install build tools
sudo apt update && sudo apt upgrade -y
sudo apt install curl git wget htop tmux build-essential jq make lz4 gcc unzip -yInstall GO
cd $HOME
ver="1.24.2" && \
wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz" && \
sudo rm -rf /usr/local/go && \
sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz" && \
rm "go$ver.linux-amd64.tar.gz" && \
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile && \
source $HOME/.bash_profile && \
go versionManual installation
Come up with the name of your node and replace it instead <your_moniker>
MONIKER=<your_moniker>Download binary files
# Clone project repository
cd $HOME
rm -rf gaia
git clone https://github.com/cosmos/gaia.git
cd gaia
git checkout v25.1.0
# Build binaries
make build
# Prepare binaries for Cosmovisor
mkdir -p $HOME/.gaia/cosmovisor/genesis/bin
mv build/gaiad $HOME/.gaia/cosmovisor/genesis/bin/
# Create application symlinks
sudo ln -s $HOME/.gaia/cosmovisor/genesis $HOME/.gaia/cosmovisor/current -f
sudo ln -s $HOME/.gaia/cosmovisor/current/bin/gaiad /usr/local/bin/gaiad -f
Initialize the node
# config and init app
gaiad config chain-id provider
gaiad config keyring-backend test
gaiad config node tcp://localhost:26657
gaiad init $MONIKER --chain-id providerSet node configuration
# download genesis and addrbook
curl -Ls https://snapshots.kjnodes.com/cosmoshub-testnet/genesis.json > $HOME/.gaia/config/genesis.json
curl -Ls https://snapshots.kjnodes.com/cosmoshub-testnet/addrbook.json > $HOME/.gaia/config/addrbook.json
# Add seeds
sed -i -e "s|^seeds *=.*|seeds = \"3f472746f46493309650e5a033076689996c8881@cosmoshub-testnet.rpc.kjnodes.com:13459\"|" $HOME/.gaia/config/config.toml
# Set minimum gas price
sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0.005uatom\"|" $HOME/.gaia/config/app.toml
# Set pruning
sed -i \
-e 's|^pruning *=.*|pruning = "custom"|' \
-e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' \
-e 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' \
-e 's|^pruning-interval *=.*|pruning-interval = "19"|' \
$HOME/.gaia/config/app.tomlCreate a service
# Download and install Cosmovisor
go install cosmossdk.io/tools/cosmovisor/cmd/[email protected]
# Create service
sudo tee /etc/systemd/system/gaiad.service > /dev/null << EOF
[Unit]
Description=Cosmoshub testnet node service
After=network-online.target
[Service]
User=$USER
ExecStart=$(which cosmovisor) run start
Restart=on-failure
RestartSec=10
LimitNOFILE=65535
Environment="DAEMON_HOME=$HOME/.gaia"
Environment="DAEMON_NAME=gaiad"
Environment="UNSAFE_SKIP_BACKUP=true"
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:$HOME/.gaia/cosmovisor/current/bin"
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable gaiadStart service and check the logs
sudo systemctl restart gaiad && sudo journalctl -u gaiad -f --no-hostname -o catCreate wallet
# to create a new wallet, use the following command. don’t forget to save the mnemonic
gaiad keys add wallet
# to restore exexuting wallet, use the following command
gaiad keys add wallet --recover
# list all keys
gaiad keys list
# before creating a validator, you need to fund your wallet and check balance
gaiad q bank balances $(gaiad keys show wallet -a)
Create validator
gaiad tx staking create-validator \
--amount 1000000uatom \
--pubkey $(gaiad tendermint show-validator) \
--moniker "YOUR_MONIKER_NAME" \
--identity "YOUR_KEYBASE_ID" \
--details "YOUR_DETAILS" \
--website "YOUR_WEBSITE_URL" \
--chain-id provider \
--commission-rate 0.05 \
--commission-max-rate 0.20 \
--commission-max-change-rate 0.05 \
--min-self-delegation 1 \
--from wallet \
--gas-adjustment 1.4 \
--gas auto \
--gas-prices 0.005uatom \
-yLast updated