Skip to content

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

bash
gnokey add $WALLET

Keep the generated seed phrase safe. It is the only way to recover your wallet.

Recover Wallet from Seed Phrase

bash
gnokey add $WALLET --recover

You will be prompted to enter your seed phrase.

List Wallets

bash
gnokey list

Delete Wallet

bash
gnokey delete $WALLET

INFO

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

bash
gnokey query \
  -remote "https://rpc.test13.testnets.gno.land" \
  auth/accounts/$(gnokey list | grep -oP 'addr: \K\S+')

Send Tokens

bash
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" \
  $WALLET

Example:

bash
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" \
  $WALLET

3. 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:
ParameterDetails
$MONIKERYour node's moniker, pulled from .bash_profile.
DescriptionShort description of your validator (2048 char limit).
InfrastructureOne of cloud, on-prem, data-center.
Operator addressYour g1... wallet address — must be the signer of this tx.
Validator pubkeyThe pub_key from gnoland secrets get validator_keynot the address in that same output.
$WALLETWallet 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

bash
gnoland secrets get validator_key -data-dir $HOME/gnoland-data

Update Validator Description

bash
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 \
  $WALLET

Check Your Valoper Profile / Active Set

4. Node Status & Info

Check Sync Status

bash
curl -s http://localhost:${GNOLAND_PORT}657/status | jq .result.sync_info

Check Peer Count

bash
curl -s http://localhost:${GNOLAND_PORT}657/net_info | jq .result.n_peers

Show Node ID

bash
gnoland secrets get node_id -data-dir $HOME/gnoland-data

Restart Node

bash
sudo systemctl restart gnoland

View Node Logs

bash
sudo journalctl -u gnoland -f --no-hostname -o cat

5. Backup & Key Safety

FileBackup?Notes
gnoland-data/secrets/priv_validator_key.jsonYes — criticalYour validator's consensus signing key. Losing it means losing your validator identity.
gnoland-data/secrets/node_key.jsonYesYour node's P2P identity (node_id). Not critical, but avoids peers needing to re-trust a new ID.
Operator wallet mnemonic (gnokey add)Yes — criticalControls your g1... account used to sign transactions. Store it outside the server.
gnoland-data/secrets/priv_validator_state.jsonNoRuntime signing state — never copy this onto another node alongside the same validator key, doing so risks double-signing.
gnoland-data/config/genesis.json, config.tomlNoReproducible from the setup steps.
gnoland-data/db/, wal/NoBlockchain data, re-syncable from peers.

6. Common Pitfalls

  • panic: gno was unable to determine GNOROOTGNOROOT isn't set in your current shell. Export it (export GNOROOT=$HOME/gno), and add it to both ~/.bashrc and ~/.bash_profile so it persists across sessions.
  • invalid data directory providedgnoland secrets/gnoland config commands resolve the default gnoland-data path relative to your current working directory. Run the command from $HOME, or pass -data-dir $HOME/gnoland-data explicitly.

7. Environment Variables

Make sure to set these in your ~/.bash_profile and ~/.bashrc (so they load in every shell, not just login shells):

bash
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:

bash
source ~/.bashrc

This cheat sheet is provided to streamline test13 validator and wallet management.