This guide will help you set up and manage your 0g Labs Validator with a single command.
| Requirement | Minimum | Recommended |
|---|---|---|
| OS | Ubuntu 20.04+ | Ubuntu 22.04+ |
| CPU | 6 Cores | 8+ Cores |
| RAM | 8GB | 16GB+ |
| Storage | 500GB SSD/NVMe | 1TB SSD/NVMe |
| Network | 10 Mbit/s | 100 Mbit/s+ |
✅ RPC: https://rpc-0gchaind.onenov.xyz
✅ API: https://api-0gchaind.onenov.xyz
✅ Snapshot: https://snapshot-0gchaind.onenov.xyz
✅ Genesis: https://snapshot-0gchaind.onenov.xyz/genesis.json
✅ Addrbook: https://snapshot-0gchaind.onenov.xyz/addrbook.json
✅ Latest Snapshot: https://snapshot-0gchaind.onenov.xyz/latest.tar.lz4
✅ EVM JSON-RPC: https://evm-0gchaind.onenov.xyz
To install the validator, run:
bash <(curl -s https://raw.githubusercontent.com/OneNov0209/testnet-ibc/refs/heads/main/Ogchain/install.sh)
Before running the validator, you need a wallet.
0gchaind keys add mywallet
📌 Save the mnemonic seed securely.
If you already have a wallet, import it using:
0gchaind keys add mywallet --recover
Enter the mnemonic phrase when prompted.
0gchaind keys list
Or check a specific wallet address:
0gchaind keys show mywallet -a
0gchaind keys unsafe-export-eth-key wallet
Ensure your node is fully synchronized before creating a validator.
Check sync status:
0gchaind status | jq .sync_info
If "catching_up": false, your node is fully synced.
Once the node is synced, create your validator:
0gchaind tx staking create-validator \
--amount 1000000ua0gi \
--from $WALLET \
--commission-rate 0.1 \
--commission-max-rate 0.2 \
--commission-max-change-rate 0.01 \
--min-self-delegation 1 \
--pubkey $(0gchaind tendermint show-validator) \
--moniker "test" \
--identity "" \
--website "" \
--details "stake with me" \
--chain-id zgtendermint_16600-2 \
--gas-adjustment 1.5 --gas auto --gas-prices 0.00252ua0gi \
-y
📌 Replace --moniker="OneNov" with your validator name.
After creating the validator, verify its status.
Check validator status:
0gchaind query staking validator $(0gchaind keys show wallet --bech val -a)
Check all validators in the network:
0gchaind query staking validators --limit=1000 -o json | jq '.validators[] | {moniker: .description.moniker, status: .status}'
To view real-time logs:
journalctl -fu 0gchaind -o cat
Or, check systemd service status:
systemctl status 0gchaind
To stake additional tokens to your validator:
0gchaind tx staking delegate $(0gchaind keys show mywallet --bech val -a) 1000000uog --from=mywallet --chain-id=zgtendermint_16600-2 --gas=auto
📌 Replace 1000000uog with the amount you want to delegate.
If your validator gets slashed and jailed, unjail it with:
0gchaind tx slashing unjail --from=wallet --chain-id=zgtendermint_16600-2 --gas=auto
0gchaind query bank balances $(0gchaind keys show wallet -a)
To withdraw staking rewards from your validator:
0gchaind tx distribution withdraw-rewards $(0gchaind keys show mywallet --bech val -a) --from=wallet --commission --chain-id=zgtendermint_16600-2 --gas=auto
If you wish to remove your validator:
0gchaind tx staking unbond $(0gchaind keys show wallet --bech val -a) 1000000uog --from=mywallet --chain-id=zgtendermint_16600-2 --gas=auto
⚠️ After unbonding, your tokens will be locked for a certain period before they become available.
To restart the node:
systemctl restart 0gchaind
To stop the node:
systemctl stop 0gchaind
✅ Complete guide from setup to validator management
✅ Easy installation with bash <(curl -s ...)
✅ Essential commands for monitoring and staking
🚀 Now your 0g Labs Validator is ready to run! 🚀