Node Commands

Usefull commands for Atom One

🔑 Key management

👛

Change wallet in the commands to your own wallet name.

Add new key

atomoned keys add wallet

Recover existing key

atomoned keys add wallet --recover

List all keys

atomoned keys list

Delete key

atomoned keys delete wallet

Export key to the file

atomoned keys export wallet

Import key from the file

atomoned keys import wallet wallet.backup

Query wallet balance

atomoned q bank balances $( atomoned keys show wallet -a)

🧙 Validator management

🙋‍♀️

Make sure to change values for moniker, identity, details website to your own values.

Edit existing 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-1 \
--commission-rate 0.05 \
--from wallet \
--gas-adjustment 1.5 \
--gas auto \
--gas-prices 0.01uatone \
-y

Unjail validator

atomoned tx slashing unjail --from wallet --chain-id atomone-1 --gas-adjustment 1.5 --gas auto
 --gas-prices 0.01uatone -y

Jail reason

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

List all active validators

atomoned q staking validators -oj --limit=3000 | jq '.validators[] | select(.status=="BOND_STATUS_BONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " \t " + .description.moniker' | sort -gr | nl

List all inactive validators

atomoned q staking validators -oj --limit=3000 | jq '.validators[] | select(.status=="BOND_STATUS_UNBONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " \t " + .description.moniker' | sort -gr | nl

View validator details

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

🪙 Token management

Withdraw rewards from all validators

atomoned tx distribution withdraw-all-rewards --from wallet --chain-id atomone-1 --gas-adjustment 1.5 --gas auto --gas-prices 0.01uatone -y

Withdraw commission and rewards from your validator

atomoned tx distribution withdraw-rewards $( atomoned keys show wallet --bech val -a) --commission --from wallet --chain-id atomone-1 --gas-adjustment 1.5 --gas auto --gas-prices 0.01uatone -y

Delegate tokens to yourself

atomoned tx staking delegate $( atomoned keys show wallet --bech val -a) 1000000.01uatone --from wallet --chain-id atomone-1 --gas-adjustment 1.5 --gas auto --gas-prices 0.01uatone -y

Delegate tokens to validator

atomoned tx staking delegate <TO_VALOPER_ADDRESS> 1000000.01uatone --from wallet --chain-id atomone-1 --gas-adjustment 1.5 --gas auto --gas-prices 0.01uatone  -y

Redelegate tokens to another validator

atomoned tx staking redelegate $( atomoned keys show wallet --bech val -a) <TO_VALOPER_ADDRESS> 1000000.01uatone --from wallet --chain-id atomone-1 --gas-adjustment 1.5 --gas auto --gas-prices 0.01uatone -y

Unbond tokens from your validator

atomoned tx staking unbond $( atomoned keys show wallet --bech val -a) 1000000.01uatone --from wallet --chain-id atomone-1 --gas-adjustment 1.5 --gas auto --gas-prices 0.01uatone -y

Send tokens to the wallet

atomoned tx bank send wallet <TO_WALLET_ADDRESS> 1000000.01uatone --from wallet --chain-id atomone-1 --gas-adjustment 1.5 --gas auto --gas-prices 0.01uatone -y

🏛️ Governance

List all proposals

atomoned query gov proposals

View proposal by id

atomoned query gov proposal 1

Vote 'Yes'

atomoned tx gov vote 1 yes --from wallet --chain-id atomone-1 --gas-adjustment 1.5 --gas auto --gas-prices 0.01uatone -y

Vote 'No'

atomoned tx gov vote 1 no --from wallet --chain-id atomone-1 --gas-adjustment 1.5 --gas auto --gas-prices 0.01uatone -y

Vote 'Abstain'

atomoned tx gov vote 1 abstain --from wallet --chain-id atomone-1 --gas-adjustment 1.5 --gas auto --gas-prices 0.01uatone -y

Vote 'NoWithVeto'

atomoned tx gov vote 1 NoWithVeto --from wallet --chain-id atomone-1 --gas-adjustment 1.5 --gas auto --gas-prices 0.01uatone -y

⚡️ Utility

Update Indexer

Disable indexer

sed -i -e 's|^indexer *=.*|indexer = "null"|' $HOME/.atomone/config/config.toml

Enable indexer

sed -i -e 's|^indexer *=.*|indexer = "kv"|' $HOME/.atomone/config/config.toml

Update pruning

sed -i \
  -e 's|^pruning *=.*|pruning = "custom"|' \
  -e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "2000"|' \
  -e 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' \
  -e 's|^pruning-interval *=.*|pruning-interval = "100"|' \
  $HOME/.atomoned/config/app.toml

🔧 Maintenance

Get validator info

atomoned status 2>&1 | jq .ValidatorInfo

Get sync info

atomoned status 2>&1 | jq .SyncInfo

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 --keep-addr-book

Remove node

☢️

Make sure you have backed up your priv_validator_key.json!

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

⚙️ 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 saga

Restart service

sudo systemctl restart saga

Check service status

sudo systemctl status saga

Check service logs

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