Gno Land Test13 Cheat Sheet and Key Management
This guide provides essential commands for managing wallets, nodes, and validators on test13. Make sure the environment variables mentioned at the end (and GNOROOT) are correctly configured before using these commands.
1. Key Management
Create a New Wallet
gnokey add $WALLETKeep the generated seed phrase safe. It is the only way to recover your wallet.
Recover Wallet from Seed Phrase
gnokey add $WALLET --recoverYou will be prompted to enter your seed phrase.
List Wallets
gnokey listDelete Wallet
gnokey delete $WALLETINFO
Unlike Cosmos SDK chains, gnokey doesn't have a keys show subcommand. Get your address from gnokey list — the g1... address next to your key name.
2. Wallet Operations
Check Balance
gnokey query \
-remote "https://rpc.test13.testnets.gno.land" \
auth/accounts/$(gnokey list | grep -oP 'addr: \K\S+')Send Tokens
gnokey maketx send \
-send "<amount>ugnot" \
-to "<receiver_address>" \
-gas-fee 1000000ugnot \
-gas-wanted 10000000 \
-broadcast \
-chainid "test-13" \
-remote "https://rpc.test13.testnets.gno.land" \
$WALLETExample:
gnokey maketx send \
-send "1000000ugnot" \
-to "g1...yyy" \
-gas-fee 1000000ugnot \
-gas-wanted 10000000 \
-broadcast \
-chainid "test-13" \
-remote "https://rpc.test13.testnets.gno.land" \
$WALLET3. Validator Management
Ensure your operator wallet ($WALLET) holds enough ugnot for the registration gas fee — request a drip from the faucet if it's empty.
Register as Validator Candidate
Configuration:
Generated Code:
Loading...Parameter Explanation:
| Parameter | Details |
|---|---|
$MONIKER | Your node's moniker, pulled from .bash_profile. |
| Description | Short description of your validator (2048 char limit). |
| Infrastructure | One of cloud, on-prem, data-center. |
| Operator address | Your g1... wallet address — must be the signer of this tx. |
| Validator pubkey | The pub_key from gnoland secrets get validator_key — not the address in that same output. |
$WALLET | Wallet used for the transaction. |
⚠️ NOTE
Registering only lists you as a candidate on the valoper realm. You only join the active validator set once a GovDAO member creates and passes a proposal via r/sys/validators/v3 — there's no self-service "create-validator" transaction like on Cosmos SDK chains.
Get Validator Pubkey
gnoland secrets get validator_key -data-dir $HOME/gnoland-dataUpdate Validator Description
gnokey maketx call \
--pkgpath gno.land/r/gnops/valopers \
--func UpdateDescription \
--args "$(gnokey list | grep -oP 'addr: \K\S+')" \
--args "<new-description>" \
--gas-fee 1000000ugnot \
--gas-wanted 50000000 \
--chainid test-13 \
--remote https://rpc.test13.testnets.gno.land \
--broadcast \
$WALLETCheck Your Valoper Profile / Active Set
- Registered candidates: https://test13.testnets.gno.land/r/gnops/valopers
- Active validator set: https://test13.testnets.gno.land/r/sys/validators/v3
4. Node Status & Info
Check Sync Status
curl -s http://localhost:${GNOLAND_PORT}657/status | jq .result.sync_infoCheck Peer Count
curl -s http://localhost:${GNOLAND_PORT}657/net_info | jq .result.n_peersShow Node ID
gnoland secrets get node_id -data-dir $HOME/gnoland-dataRestart Node
sudo systemctl restart gnolandView Node Logs
sudo journalctl -u gnoland -f --no-hostname -o cat5. Backup & Key Safety
| File | Backup? | Notes |
|---|---|---|
gnoland-data/secrets/priv_validator_key.json | Yes — critical | Your validator's consensus signing key. Losing it means losing your validator identity. |
gnoland-data/secrets/node_key.json | Yes | Your node's P2P identity (node_id). Not critical, but avoids peers needing to re-trust a new ID. |
Operator wallet mnemonic (gnokey add) | Yes — critical | Controls your g1... account used to sign transactions. Store it outside the server. |
gnoland-data/secrets/priv_validator_state.json | No | Runtime signing state — never copy this onto another node alongside the same validator key, doing so risks double-signing. |
gnoland-data/config/genesis.json, config.toml | No | Reproducible from the setup steps. |
gnoland-data/db/, wal/ | No | Blockchain data, re-syncable from peers. |
6. Common Pitfalls
panic: gno was unable to determine GNOROOT—GNOROOTisn't set in your current shell. Export it (export GNOROOT=$HOME/gno), and add it to both~/.bashrcand~/.bash_profileso it persists across sessions.invalid data directory provided—gnoland secrets/gnoland configcommands resolve the defaultgnoland-datapath relative to your current working directory. Run the command from$HOME, or pass-data-dir $HOME/gnoland-dataexplicitly.
7. Environment Variables
Make sure to set these in your ~/.bash_profile and ~/.bashrc (so they load in every shell, not just login shells):
export WALLET="wallet"
export MONIKER="YourMoniker"
export GNOLAND_CHAIN_ID="test-13"
export GNOLAND_PORT="54"
export GNOROOT="$HOME/gno"
export PATH="/usr/local/go/bin:$HOME/go/bin:$PATH"Apply the changes with:
source ~/.bashrcThis cheat sheet is provided to streamline test13 validator and wallet management.
