Skip to main content

CLI Cheatsheet

Essential CLI commands for managing your Atomone node and validator.

Key Management

Add New Key

atomoned keys add KEY

Recover Key (via existing mnemonic)

atomoned keys add KEY --recover

List All Keys

atomoned keys list

Delete Key

atomoned keys delete KEY

Wallet Operations

Check Wallet Balance

atomoned q bank balances $(atomoned keys show KEY -a) --node https://t-atomone-rpc.ruangnode.com:443

Send Tokens

atomoned tx bank send YOUR_KEY RECEIVER_ADDRESS 1000000uatone \
--chain-id atomone-testnet-1 \
--node https://t-atomone-rpc.ruangnode.com:443 --fees 22500uphoton \
--from KEY

Withdraw Rewards from All Validators

atomoned tx distribution withdraw-all-rewards \
--chain-id atomone-testnet-1 \
--node https://t-atomone-rpc.ruangnode.com:443 --fees 22500uphoton \
--from KEY

Withdraw Rewards Including Commission

atomoned tx distribution withdraw-rewards VALIDATOR_ADDRESS \
--commission \
--chain-id atomone-testnet-1 \
--node https://t-atomone-rpc.ruangnode.com:443 --fees 22500uphoton \
--from KEY

Staking Operations

Delegate Tokens to Yourself

atomoned tx staking delegate $(atomoned keys show KEY --bech val -a) 1000000uatone \
--chain-id atomone-testnet-1 \
--node https://t-atomone-rpc.ruangnode.com:443 --fees 22500uphoton \
--from KEY

Delegate Tokens to Validator

atomoned tx staking delegate VALIDATOR_ADDRESS 1000000uatone \
--chain-id atomone-testnet-1 \
--node https://t-atomone-rpc.ruangnode.com:443 --fees 22500uphoton \
--from KEY

Redelegate Tokens to Another Validator

atomoned tx staking redelegate $(atomoned keys show KEY --bech val -a) VALIDATOR_ADDRESS 1000000uatone \
--chain-id atomone-testnet-1 \
--node https://t-atomone-rpc.ruangnode.com:443 --fees 22500uphoton \
--from KEY

Unbond Tokens from Your Validator

atomoned tx staking unbond $(atomoned keys show KEY --bech val -a) 1000000uatone \
--chain-id atomone-testnet-1 \
--node https://t-atomone-rpc.ruangnode.com:443 --fees 22500uphoton \
--from KEY

Governance

List All Proposals

atomoned query gov proposals --node https://t-atomone-rpc.ruangnode.com:443

Check Vote

atomoned query gov proposal PROPOSAL_NUMBER \
--chain-id atomone-testnet-1 \
--node https://t-atomone-rpc.ruangnode.com:443 \
--output json | jq

Vote on Proposal

Vote options: yes, no, no_with_veto, abstain

atomoned tx gov vote PROPOSAL_NUMBER VOTE_OPTION \
--chain-id atomone-testnet-1 \
--node https://t-atomone-rpc.ruangnode.com:443 --fees 22500uphoton \
--from KEY

Validator Management

Create Validator

atomoned tx staking create-validator \
--amount 1000000uatone \
--commission-max-change-rate "0.05" \
--commission-max-rate "0.10" \
--commission-rate "0.05" \
--min-self-delegation "1" \
--pubkey=$(atomoned tendermint show-validator) \
--moniker "YOUR_MONIKER" \
--website "https://yourwebsite.com" \
--identity "YOUR_KEYBASE_ID" \
--details "YOUR_DETAILS" \
--security-contact="your@email.com" \
--chain-id atomone-testnet-1 \
--node https://t-atomone-rpc.ruangnode.com:443 --fees 22500uphoton \
--from KEY

Edit Validator

atomoned tx staking edit-validator \
--new-moniker "YOUR_MONIKER_NAME" \
--identity "YOUR_KEYBASE_ID" \
--details "YOUR_DETAILS" \
--website "YOUR_WEBSITE_URL" \
--chain-id atomone-testnet-1 \
--commission-rate 0.05 \
--from KEY \
--node https://t-atomone-rpc.ruangnode.com:443 --fees 22500uphoton

Unjail Validator

atomoned tx slashing unjail \
--chain-id atomone-testnet-1 \
--node https://t-atomone-rpc.ruangnode.com:443 --fees 22500uphoton \
--from KEY

Check Jail Reason

atomoned query slashing signing-info $(atomoned tendermint show-validator)

Get Validator Details

atomoned q staking validator $(atomoned keys show KEY --bech val -a)

Node Maintenance

Get Validator Info

atomoned status 2>&1 | jq .ValidatorInfo

Get Sync Info

atomoned status 2>&1 | jq .SyncInfo

Get Node Peer

echo $(atomoned tendermint show-node-id)'@'$(curl -s ifconfig.me)':'$(cat $HOME/.atomone/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')

Check if Validator Key is Correct

[[ $(atomoned q staking validator $(atomoned keys show KEY --bech val -a) -oj | jq -r .consensus_pubkey.key) = $(atomoned status | jq -r .ValidatorInfo.PubKey.value) ]] && echo -e "\n\e[1m\e[32mTrue\e[0m\n" || echo -e "\n\e[1m\e[31mFalse\e[0m\n"

Get Live Peers

curl -sS https://t-atomone-rpc.ruangnode.com:443/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}'

Set Minimum Gas Price

sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.225uphoton\"/" $HOME/.atomone/config/app.toml

Enable Prometheus

sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.atomone/config/config.toml

Reset Chain Data

atomoned tendermint unsafe-reset-all --keep-addr-book --home $HOME/.atomone

Service Management

Reload Service Configuration

sudo systemctl daemon-reload

Enable Service

sudo systemctl enable atomoned

Disable Service

sudo systemctl disable atomoned

Start Service

sudo systemctl start atomoned

Stop Service

sudo systemctl stop atomoned

Restart Service

sudo systemctl restart atomoned

Check Service Status

sudo systemctl status atomoned

Check Service Logs

sudo journalctl -u atomoned -f --no-hostname -o cat

Remove Node

Complete Node Removal

cd $HOME
sudo systemctl stop atomoned
sudo systemctl disable atomoned
sudo rm /etc/systemd/system/atomoned.service
sudo systemctl daemon-reload
rm -f $(which atomoned)
rm -rf $HOME/.atomone
rm -rf $HOME/atomone