Complete setup and maintenance guide for Gnoland Test11 validator nodes.
Network Information
Snapshot (Recommended)
Using a snapshot significantly reduces sync time. Shazoes provides reliable snapshots updated regularly:
# Install required tools
sudo apt-get update
sudo apt-get install -y aria2 lz4
# Stop the service
sudo systemctl stop gnoland
# Backup critical state
cp ~/.gno/gnoland-data/data/priv_validator_state.json ~/priv_validator_state.json.backup
# Download and extract snapshot
cd ~
aria2c -x 16 -s 16 https://download.shazoes.network/test11/snapshot-gnoland.tar.lz4
lz4 -dc snapshot-gnoland.tar.lz4 | tar -xf - -C ~/.gno/gnoland-data
# Restore validator state
cp ~/priv_validator_state.json.backup ~/.gno/gnoland-data/data/priv_validator_state.json
# Start the service
sudo systemctl start gnoland
sudo journalctl -u gnoland -f
Peers Configuration
For optimal connectivity, use multiple peers. Shazoes provides a comprehensive list:
# Edit config.toml
nano ~/.gno/gnoland-data/config/config.toml
# Add these peers to persistent_peers:
persistent_peers = "6d21bd14f7799ddd48f28f1adbbf45bef1fc6f87@162.19.236.117:26656,0a90e84d8f1e5edd68ad59de6fa13ab94c5fcf63@135.181.28.53:60656,50ec7ce2b87a64bdd9f7af9e35745d5ca53808ca@136.243.33.202:60656,4de09e0e1a1fdcf0eb1afc97e9f87ba1e62a4d77@185.107.68.148:26656,ad7c35bb1e6925f48b74c4f98b4c0af3dc0b8c29@195.14.6.192:26656,e74ddd7edbca1fd58e84ccebf4cc9f6eaaf7e3a5@81.0.218.102:26656,b86e19048b38e86e5e045636d5e0ca2fe0a4b49a@78.46.99.50:54656,6546351f5bc5ba0f1932969b788c5a854c75d4c1@91.183.62.162:26656,8feec2166118a3638a4c428b66e25e1c0e3c8ac1@141.94.109.8:26656,9c0d52cf1bc0b2526a9c45fb76e8a0df3fe087c8@49.12.215.72:26656,6fff6e4e8255916e87cbc00b8a87e44b4c7a8caf@195.201.108.97:26656,0ad4b88a62e3c2d1a14ee36bb4e3c01a87c6edcf@116.202.162.188:26656,f0bf16d86d21b2dae7d68b2a6e6f77f4bbed9050@104.248.142.50:26656,bdc6b8be51e95894d1c98d2f2e32e2cc5e9a7c20@65.21.138.123:56656,ebf6ab8a60abd9de4cda8ea42c76bb2017ca5cc9@84.247.171.137:26656,4b783261c6de7b17ccc96b66ce8b88e90b58ee1f@51.81.107.139:26656,ea5077cfd91e68e5d4fc79697bbba2a2aeee8da1@51.158.191.108:26656,0d9c005ab2833bc312f885123bfc311884b48b82@51.81.155.26:10656,1bcc9d09fb43b1f5ef92023edae23ed4c0c0a044@51.81.208.96:26656,f3ee00dc8ea87beaf7e00b0aedd1e2be03d2ac51@207.180.253.126:26656,b3e0bc45a42f55f7ae71c77f49c0c1c5ac33e0e4@185.209.229.198:26656,f6d9b4b5ab8a51f8a26d9e6ec5663bc0b9ea2e77@135.181.73.170:26656,79f1e41ba9965b0f04c3f4cb8f1dfcaed5c85e94@207.180.220.76:26656,6d1b494f86ab01f6ce37bd08f52efcbea9f45ed8@88.99.167.224:26656"
# Set PEX to true
pex = true
Installation Guide
⚠️ Important: This guide assumes Ubuntu 22.04 LTS. Adjust commands for other distributions.
1. Install Dependencies
sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential git wget jq make gcc aria2 lz4
2. Install Go
wget https://go.dev/dl/go1.23.0.linux-amd64.tar.gz
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.23.0.linux-amd64.tar.gz
rm go1.23.0.linux-amd64.tar.gz
# Add to PATH
echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> ~/.bashrc
source ~/.bashrc
# Verify
go version
3. Install Gnoland
cd ~
git clone https://github.com/gnolang/gno.git
cd gno
git checkout master
make install
# Verify installation
gnoland version
4. Initialize Node
# Download genesis
mkdir -p ~/.gno/gnoland-data/config
cd ~/.gno/gnoland-data/config
wget https://gnoland-testnet-snapshots.itrocket.net/genesis.json
# Generate node keys (if not already present)
cd ~/.gno/gnoland-data/config
gnoland secrets init
gnoland secrets get node_key.json
gnoland secrets get priv_validator_key.json
5. Configure Systemd Service
sudo tee /etc/systemd/system/gnoland.service > /dev/null <
6. Configure Log Rotation
sudo tee /etc/logrotate.d/gnoland > /dev/null < /dev/null 2>&1 || true
endscript
}
EOF
# Test log rotation
sudo logrotate /etc/logrotate.d/gnoland --debug
7. Apply Snapshot (Recommended)
See the API & Sync tab for snapshot instructions.
8. Create Wallet & Register Validator
# Create wallet
gnokey add myvalidator
# Get tokens from faucet: https://faucet.gno.land
# Register validator profile
gnokey maketx call myvalidator \\
--pkgpath "gno.land/r/gnops/valopers" \\
--func RegisterValidator \\
--gas-wanted 5000000 \\
--gas-fee 1000000ugnot \\
--send "1000000ugnot" \\
--broadcast \\
--chainid test11 \\
--remote https://gnoland-testnet-rpc.itrocket.net:443 \\
--args "YOUR_MONIKER" \\
--args "YOUR_DESCRIPTION" \\
--args "YOUR_TELEGRAM_USERNAME"
📝 Next Steps: After registration, submit a GovDAO proposal to activate your validator. Check Discord for instructions.
Command Cheat Sheet
Service Management
| Command |
Description |
sudo systemctl start gnoland |
Start the Gnoland service |
sudo systemctl stop gnoland |
Stop the Gnoland service |
sudo systemctl restart gnoland |
Restart the Gnoland service |
sudo systemctl status gnoland |
Check service status |
sudo journalctl -u gnoland -f |
Follow service logs in real-time |
sudo journalctl -u gnoland -n 100 |
View last 100 log lines |
Node Status
| Command |
Description |
curl localhost:26657/status |
Check local node status |
curl https://gnoland-testnet-rpc.itrocket.net/status |
Check network RPC status |
curl localhost:26657/net_info |
View connected peers |
Wallet Management
| Command |
Description |
gnokey add WALLET_NAME |
Create new wallet |
gnokey list |
List all wallets |
gnokey query auth/accounts/ADDRESS --remote https://gnoland-testnet-rpc.itrocket.net:443 |
Check wallet balance |
Validator Operations
| Command |
Description |
cat ~/.gno/gnoland-data/config/priv_validator_key.json |
View validator address |
cat ~/.gno/gnoland-data/config/node_key.json |
View node key |
curl localhost:26657/validators |
List active validators |
Maintenance
| Command |
Description |
df -h |
Check disk usage |
du -sh ~/.gno/gnoland-data/ |
Check node data size |
sudo logrotate /etc/logrotate.d/gnoland --force |
Force log rotation |
tar -czf validator-keys-backup.tar.gz ~/.gno/gnoland-data/config/*.json |
Backup validator keys |
Update Node
# Backup keys first!
cp ~/.gno/gnoland-data/data/priv_validator_state.json ~/priv_validator_state.json.backup
tar -czf ~/validator-keys-backup-$(date +%Y%m%d-%H%M%S).tar.gz ~/.gno/gnoland-data/config/*.json
# Stop service
sudo systemctl stop gnoland
# Update binary
cd ~/gno
git pull
git checkout master
make install
# Verify version
gnoland version
# Restore validator state
cp ~/priv_validator_state.json.backup ~/.gno/gnoland-data/data/priv_validator_state.json
# Start service
sudo systemctl start gnoland
sudo journalctl -u gnoland -f