Useful commands
List of commands used to manage the validator and node
Wallet interaction
Create Wallet
archwayd keys add <WALLET NAME>
Restore wallet
archwayd keys add <WALLET NAME> --recover
Show all wallets
Delete wallet
archwayd keys delete <WALLET NAME>
Export wallet
archwayd keys export <WALLET NAME>
Import wallet
archwayd keys import <WALLET NAME> <WALLET NAME>.backup
Show balance
archwayd q bank balances $(archwayd keys show <WALLET NAME> -a)
Validator control
Create a validator
archwayd tx staking create-validator \
--chain-id archway-1 \
--commission-rate 0.05 \
--commission-max-rate 0.2 \
--commission-max-change-rate 0.1 \
--min-self-delegation "1000000" \
--amount 1000000000000000000aarch \
--pubkey $(archwayd tendermint show-validator) \
--moniker "<YOUR MONIKER>" \
--from <WALLET NAME> \
--fees 230400000000000000aarch \
--gas 256000
Edit validator
archwayd tx staking edit-validator \
--new-moniker="<YOUR_MONIKER>" \
--identity=<KEYBASE ID> \
--details="<YOUR_DETAILS>" \
--chain-id archway-1 \
--commission-rate=0.1 \
--from=<WALLET NAME> \
--gas-prices=256000aarch \
--gas-adjustment=1.5 \
--gas=auto \
-y
Unjail
archwayd tx slashing unjail --from <WALLET NAME> --chain-id archway-1 --fees 230400000000000000aarch --gas 256000 -y
Jail reason
archwayd q slashing signing-info $(archwayd tendermint show-validator)
Active validators
archwayd q staking validators -o json --limit=1000 \| jq '.validators[] | select(.status=="BOND_STATUS_BONDED")' \| jq -r '.tokens + " - " + .description.moniker' \| sort -gr | nl
Inactive validators
archwayd q staking validators -o json --limit=1000 \| jq '.validators[] | select(.status=="BOND_STATUS_UNBONDED")' \| jq -r '.tokens + " - " + .description.moniker' \| sort -gr | nl
Information about the validator
archwayd q staking validator $(archwayd keys show <WALLET NAME> --bech val -a)
Balance management
Withdrawal of all rewards
archwayd tx distribution withdraw-all-rewards --from <WALLET NAME> --chain-id archway-1 --fees 230400000000000000aarch --gas 256000 -y
Withdrawal of rewards and commissions
archwayd tx distribution withdraw-rewards <VALOPER_ADDRESS> --from <WALLET NAME> --fees 230400000000000000aarch --gas 256000 --commission -y
Self-delegation
archwayd tx staking delegate <TO_VALOPER_ADDRESS> 1000000aarch --from <WALLET NAME> --fees 230400000000000000aarch --gas 256000 -y
Delegation to validator
archwayd tx staking delegate <WALLET NAME> <TO_VALOPER_ADDRESS> 1000000aarch --from <WALLET NAME> --fees 230400000000000000aarch --gas 256000 -y
Redelegation to another validator
archwayd tx staking redelegate <WALLET NAME> <TO_VALOPER_ADDRESS> 1000000aarch --from <WALLET NAME> --fees 230400000000000000aarch --gas 256000 -y
Unbond tokens
archwayd tx staking unbond <WALLET NAME> 1000000aarch --from <WALLET NAME> --fees 230400000000000000aarch --gas 256000 -y
Sending tokens to a wallet
archwayd tx bank send <FROM_WALLET> <TO_WALLET> 1000000000000000000aarch --fees 230400000000000000aarch --gas 256000 -y
Governance
All proposals
archwayd query gov proposals
All proposals by ID
archwayd query gov proposal 1
Vote "YES"
archwayd tx gov vote 1 yes --from <WALLET NAME> --fees 555aarch
Vote "NO"
archwayd tx gov vote 1 no --from <WALLET NAME> --fees 555aarch
Vote "Abstain"
archwayd tx gov vote 1 abstain --from <WALLET NAME> --fees 555aarch
Vote "NoWithVeto"
archwayd tx gov vote 1 no_with_veto --from <WALLET NAME> --fees 555aarch
Utility
Update ports
CUSTOM_PORT=10
sed -i -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${CUSTOM_PORT}58\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${CUSTOM_PORT}57\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:${CUSTOM_PORT}60\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${CUSTOM_PORT}56\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":${CUSTOM_PORT}66\"%" $HOME/.archway/config/config.toml
sed -i -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:${CUSTOM_PORT}17\"%; s%^address = \":8080\"%address = \":${CUSTOM_PORT}80\"%; s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:${CUSTOM_PORT}90\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:${CUSTOM_PORT}91\"%" $HOME/.archway/config/app.toml
Disable Indexer
sed -i -e 's|^indexer *=.*|indexer = "null"|' $HOME/.archway/config/config.toml
Enable Indexer
sed -i -e 's|^indexer *=.*|indexer = "kv"|' $HOME/.archway/config/config.toml
Update pruning
sed -i \
-e 's|^pruning *=.*|pruning = "custom"|' \
-e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' \
-e 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' \
-e 's|^pruning-interval *=.*|pruning-interval = "19"|' \
$HOME/.archway/config/app.toml
Node support
Validator Info
archwayd status 2>&1 | jq .ValidatorInfo
Sync info
archwayd status 2>&1 | jq .SyncInfo.catching_up
Deleting a node
Before deleting a node make sure you save priv_validator_key.json
systemctl stop archwayd
systemctl disable archwayd
rm /etc/systemd/system/archwayd.service
systemctl daemon-reload
cd $HOME
rm -rf .archway archway
rm -rf $(which archwayd)
Service setup
Reload service configuration
sudo systemctl daemon-reload
Enable service
sudo systemctl enable archwayd
Disable service
sudo systemctl disable archwayd
Start service
sudo systemctl start archwayd
Stop service
sudo systemctl stop archwayd
Restart service
sudo systemctl restart archwayd
Check service status
sudo systemctl status archwayd
Check service logs
sudo journalctl -u archwayd -f --no-hostname -o cat
Last updated