Useful commands Useful set of commands for node operators. From key management to chain governance.
Daemon configuration
Copy akash config node https://akash-rpc.lavenderfive.com:443
akash config chain-id akashnet-2
🔑 Key management
Add new key
Copy akash keys add wallet
Recover existing key
Copy akash keys add wallet --recover
List all keys
Delete key
Copy akash keys delete wallet
Export key to the file
Copy akash keys export wallet
Import key from the file
Copy akash keys import wallet wallet.backup
Query wallet balance
Copy akash q bank balances $( akash keys show wallet -a )
👷 Validator management
Please make sure you have adjusted moniker , identity , details and website to match your values.
Create new validator
Copy akash tx staking create-validator \
--amount 0.00025uakt \
--pubkey $( akash tendermint show-validator ) \
--moniker "YOUR_MONIKER_NAME" \
--identity "YOUR_KEYBASE_ID" \
--details "YOUR_DETAILS" \
--website "YOUR_WEBSITE_URL" \
--chain-id akashnet-2 \
--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 \
--gas-prices 0.00025uakt \
-y
Edit existing validator
Copy akash tx staking edit-validator \
--new-moniker "YOUR_MONIKER_NAME" \
--identity "YOUR_KEYBASE_ID" \
--details "YOUR_DETAILS" \
--website "YOUR_WEBSITE_URL" \
--chain-id akashnet-2 \
--commission-rate 0.05 \
--from wallet \
--gas-adjustment 1.4 \
--gas auto \
--gas-prices 0.00025uakt \
-y
Unjail validator
Copy akash tx slashing unjail --from wallet --chain-id akashnet-2 --gas-adjustment 1.4 --gas auto --gas-prices 0.00025uakt -y
Jail reason
Copy akash query slashing signing-info $( akash tendermint show-validator )
List all active validators
Copy akash 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
Copy akash 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
Copy akash q staking validator $( akash keys show wallet --bech val -a )
💲 Token management
Withdraw rewards from all validators
Copy akash tx distribution withdraw-all-rewards --from wallet --chain-id akashnet-2 --gas-adjustment 1.4 --gas auto --gas-prices 0.00025uakt -y
Withdraw commission and rewards from your validator
Copy akash tx distribution withdraw-rewards $(akash keys show wallet --bech val -a) --commission --from wallet --chain-id akashnet-2 --gas-adjustment 1.4 --gas auto --gas-prices 0.00025uakt -y
Delegate tokens to yourself
Copy akash tx staking delegate $(akash keys show wallet --bech val -a) 0.00025uakt --from wallet --chain-id akashnet-2 --gas-adjustment 1.4 --gas auto --gas-prices 0.00025uakt -y
Delegate tokens to validator
Copy akash tx staking delegate <TO_VALOPER_ADDRESS> 0.00025uakt --from wallet --chain-id akashnet-2 --gas-adjustment 1.4 --gas auto --gas-prices 0.00025uakt -y
Redelegate tokens to another validator
Copy akash tx staking redelegate $(akash keys show wallet --bech val -a) <TO_VALOPER_ADDRESS> 0.00025uakt --from wallet --chain-id akashnet-2 --gas-adjustment 1.4 --gas auto --gas-prices 0.00025uakt -y
Unbond tokens from your validator
Copy akash tx staking unbond $(akash keys show wallet --bech val -a) 0.00025uakt --from wallet --chain-id akashnet-2 --gas-adjustment 1.4 --gas auto --gas-prices 0.00025uakt -y
Send tokens to the wallet
Copy akash tx bank send wallet <TO_WALLET_ADDRESS> 0.00025uakt --from wallet --chain-id akashnet-2 --gas-adjustment 1.4 --gas auto --gas-prices 0.00025uakt -y
🗳 Governance
List all proposals
Copy akash query gov proposals
View proposal by id
Copy akash query gov proposal 1
Vote 'Yes'
Copy akash tx gov vote 1 yes --from wallet --chain-id akashnet-2 --gas-adjustment 1.4 --gas auto --gas-prices 0.00025uakt -y
Vote 'No'
Copy akash tx gov vote 1 no --from wallet --chain-id akashnet-2 --gas-adjustment 1.4 --gas auto --gas-prices 0.00025uakt -y
Vote 'Abstain'
Copy akash tx gov vote 1 abstain --from wallet --chain-id akashnet-2 --gas-adjustment 1.4 --gas auto --gas-prices 0.00025uakt -y
Vote 'NoWithVeto'
Copy akash tx gov vote 1 NoWithVeto --from wallet --chain-id akashnet-2 --gas-adjustment 1.4 --gas auto --gas-prices 0.00025uakt -y
⚡️ Utility
Update ports
Copy CUSTOM_PORT = 128
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/.akash/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/.akash/config/app.toml
Update Indexer
Disable indexer
Copy sed -i -e 's|^indexer *=.*|indexer = "null"|' $HOME /.akash/config/config.toml
Enable indexer
Copy sed -i -e 's|^indexer *=.*|indexer = "kv"|' $HOME /.akash/config/config.toml
Update pruning
Copy sed -i \
-e 's|^pruning *=.*|pruning = "custom"|' \
-e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "107"|' \
-e 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' \
-e 's|^pruning-interval *=.*|pruning-interval = "13"|' \
$HOME /.akash/config/app.toml
🚨 Maintenance
Get validator info
Copy akash status 2>&1 | jq .ValidatorInfo
Get sync info
Copy akash status 2>&1 | jq .SyncInfo
Get node peer
Copy echo $(akash tendermint show-node-id)'@'$(curl -s ifconfig.me)':'$(cat $HOME/.akash/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')
Check if validator key is correct
Copy [[ $(akash q staking validator $(akash keys show wallet --bech val -a) -oj | jq -r .consensus_pubkey.key) = $(akash 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
Copy curl -sS http://localhost:12857/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}'
Set minimum gas price
Copy sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.00025uakt\"/" $HOME /.akash/config/app.toml
Enable prometheus
Copy sed -i -e "s/prometheus = false/prometheus = true/" $HOME /.akash/config/config.toml
Reset chain data
Copy akash tendermint unsafe-reset-all --home $HOME /.akash --keep-addr-book
Remove node
Please, before proceeding with the next step! All chain data will be lost! Make sure you have backed up your priv_validator_key.json !
Copy cd $HOME
sudo systemctl stop akash
sudo systemctl disable akash
sudo rm /etc/systemd/system/akash.akash
sudo systemctl daemon-reload
rm -f $( which akash )
rm -rf $HOME /.akash
rm -rf $HOME /osmosis
⚙️ Service Management
Reload akash configuration
Copy sudo systemctl daemon-reload
Enable akash
Copy sudo systemctl enable akash
Disable akash
Copy sudo systemctl disable akash
Start akash
Copy sudo systemctl start akash
Stop akash
Copy sudo systemctl stop akash
Restart akash
Copy sudo systemctl restart akash
Check akash status
Copy sudo systemctl status akash
Check akash logs
Copy sudo journalctl -u akash -f --no-hostname -o cat
Last updated 3 months ago