Useful commands
Useful set of commands for node operators. From key management to chain governance.
Last updated
Useful set of commands for node operators. From key management to chain governance.
Last updated
Chain ID: agoric-3 | Latest Version Tag: 0.35.0-u17.1
agd keys add wallet
agd keys add wallet --recover
agd keys list
agd keys delete wallet
agd keys export wallet
agd keys import wallet wallet.backup
agd q bank balances $(agd keys show wallet -a)
agd tx staking create-validator \
--amount=1000000ubld \
--pubkey=$(agd tendermint show-validator) \
--moniker="YOUR_MONIKER_NAME" \
--identity="YOUR_KEYBASE_ID" \
--details="YOUR_DETAILS" \
--website="YOUR_WEBSITE_URL"
--chain-id=agoric-3 \
--commission-rate=0.05 \
--commission-max-rate=0.20 \
--commission-max-change-rate=0.01 \
--min-self-delegation=1 \
--from=wallet \
--gas-adjustment=1.4 \
--gas=auto \
-y
agd tx staking edit-validator \
--moniker="YOUR_MONIKER_NAME" \
--identity="YOUR_KEYBASE_ID" \
--details="YOUR_DETAILS" \
--website="YOUR_WEBSITE_URL"
--chain-id=agoric-3 \
--commission-rate=0.05 \
--from=wallet \
--gas-adjustment=1.4 \
--gas=auto \
-y
agd tx slashing unjail --from wallet --chain-id agoric-3 --gas-adjustment 1.4 --gas auto -y
agd query slashing signing-info $(agd tendermint show-validator)
agd 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
agd 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
agd q staking validator $(agd keys show wallet --bech val
agd tx distribution withdraw-all-rewards --from wallet --chain-id agoric-3 --gas-adjustment 1.4 --gas auto -y
agd tx distribution withdraw-rewards $(agd keys show wallet --bech val -a) --commission --from wallet --chain-id agoric-3 --gas-adjustment 1.4 --gas auto --y
agd tx staking delegate $(agd keys show wallet --bech val -a) 1000000ubld --from wallet --chain-id agoric-3 --gas-adjustment 1.4 --gas auto -y
agd tx staking delegate <TO_VALOPER_ADDRESS> 1000000.agoric --from wallet --chain-id agoric-3 --gas-adjustment 1.4 --gas auto -y
agd tx staking redelegate $(agd keys show wallet --bech val <TO_VALOPER_ADDRESS> 1000000ubld --from wallet --chain-id agoric-3 --gas-adjustment 1.4 --gas auto -y
agd tx staking unbond $(agd keys show wallet --bech val -a) 1000000ubld --from wallet --chain-id agoric-3 --gas-adjustment 1.4 --gas auto -y
agd tx bank send wallet <TO_WALLET_ADDRESS> 1000000ubld --from wallet --chain-id agoric-3
agd query gov proposals
agd query gov proposal 1
agd tx gov vote 1 yes --from wallet --chain-id agoric-3 --gas-adjustment 1.4 --gas auto -y
agd tx gov vote 1 no --from wallet --chain-id agoric-3 --gas-adjustment 1.4 --gas auto -y
agd tx gov vote 1 abstain --from wallet --chain-id agoric-3 --gas-adjustment 1.4 --gas auto -y
agd tx gov vote 1 nowithveto --from wallet --chain-id agoric-3 --gas-adjustment 1.4 --gas auto -y
CUSTOM_PORT=144
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}60\"%" $HOME/.agoric/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/.agoric/config/app.toml
Disable indexer
sed -i -e 's|^indexer *=.*|indexer = "null"|' $HOME/.agoric/config/config.toml
Enable indexer
sed -i -e 's|^indexer *=.*|indexer = "kv"|' $HOME/.agoric/config/config.toml
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/.agoric/config/app.toml
agd status 2>&1 | jq .ValidatorInfo
agd status 2>&1 | jq .SyncInfo
echo $(agd tendermint show-node-id)'@'$(curl -s ifconfig.me)':'$(cat $HOME/.agoric/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')
[[ $(agd q staking validator $(agd keys show wallet --bech val -a) -oj | jq -r .consensus_pubkey.key) = $(agd 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"
curl -sS http://localhost:26657/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}'
sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.agoric\"/" $HOME/.agoric/config/app.toml
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.agoric/config/config.toml
agd tendermint unsafe-reset-all --home $HOME/.agoric --keep-addr-book
Please, before proceeding with the next step! All chain data will be lost! Make sure you have backed up your priv_validator_key.json!
cd $HOME
sudo systemctl stop agd
sudo systemctl disable agd
sudo rm /etc/systemd/system/agd.service
sudo systemctl daemon-reload
rm -f $(which agd)
rm -rf $HOME/.agoric
rm -rf $HOME/agoric
sudo systemctl daemon-reload
sudo systemctl enable agd
sudo systemctl disable agd
sudo systemctl start agd
sudo systemctl stop agd
sudo systemctl restart agd
sudo systemctl status agd
sudo journalctl -u agd -f --no-hostname -o cat