CLI Cheatsheet
Key management
Add new key
junctiond keys add wallet
Recover existing key
junctiond keys add wallet --recover
List all keys
junctiond keys list
Delete key
junctiond keys delete wallet
Export key to the file
junctiond keys export wallet
Import key from the file
junctiond keys import wallet wallet.backup
Wallet balance
junctiond q bank balances $(junctiond keys show wallet -a)
Token management
Withdraw rewards from all validators
junctiond tx distribution withdraw-all-rewards --from wallet --chain-id varanasi-1 --fees 500uamf -y
Withdraw rewards and commissions from your validator
junctiond tx distribution withdraw-rewards $(junctiond keys show wallet --bech val -a) --commission --from wallet --chain-id varanasi-1 --fees 500uamf -y
Delegate tokens to yourself
junctiond tx staking delegate $(junctiond keys show wallet --bech val -a) 1000000uamf --from wallet --chain-id varanasi-1 --fees 500uamf -y
Delegate tokens to validator
junctiond tx staking delegate <TO_VALOPER_ADDRESS> 1000000uamf --from wallet --chain-id varanasi-1 --fees 500uamf -y
Redelegate tokens to another validator
junctiond tx staking redelegate $(junctiond keys show wallet --bech val -a) <TO_VALOPER_ADDRESS> 1000000uamf --from wallet --chain-id varanasi-1 --fees 500uamf -y
Unbond tokens from your validator
junctiond tx staking unbond $(junctiond keys show wallet --bech val -a) 1000000uamf --from wallet --chain-id varanasi-1 --fees 500uamf -y
Send tokens to the wallet
junctiond tx bank send wallet <TO_WALLET_ADDRESS> 1000000uamf --from wallet --chain-id varanasi-1 --fees 500uamf -y
Validator management
Validator info
junctiond status 2>&1 | jq .validator_info
Validator details
junctiond q staking validator $(junctiond keys show wallet --bech val -a)
Check if validator key is correct
[[ $(junctiond q staking validator $(junctiond keys show wallet --bech val -a) -oj | jq -r .consensus_pubkey.key) = $(junctiond 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"
List all active validators
junctiond q staking validators -oj --limit=1000 | 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
junctiond q staking validators -oj --limit=1000 | jq '.validators[] | select(.status=="BOND_STATUS_UNBONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " \t " + .description.moniker' | sort -gr | nl
Edit existing validator
junctiond tx staking edit-validator \ --new-moniker "YOUR_MONIKER_NAME" \ --identity "YOUR_KEYBASE_ID" \ --details "YOUR_DETAILS" \ --website "YOUR_WEBSITE_URL" \ --security-contact "YOUR_EMAIL_ADDRESS" \ --chain-id varanasi-1 \ --commission-rate 0.05 \ --from wallet \ --fees 500uamf \ -y
Jail reason
junctiond query slashing signing-info $(junctiond tendermint show-validator)
Unjail validator
junctiond tx slashing unjail --from wallet --chain-id varanasi-1 --fees 500uamf -y
Governance
Create a new offer
junctiond tx gov submit-proposal \ --title "" \ --description "" \ --deposit 10000000uamf \ --type Text --from wallet \ --fees 500uamf \ -y
List all proposals
junctiond query gov proposals
View proposal by ID
junctiond query gov proposal 1
Vote “YES”
junctiond tx gov vote 1 yes --from wallet --chain-id varanasi-1 --fees 500uamf -y
Vote “NO”
junctiond tx gov vote 1 no --from wallet --chain-id varanasi-1 --fees 500uamf -y
Vote “ABSTAIN”
junctiond tx gov vote 1 abstain --from wallet --chain-id varanasi-1 --fees 500uamf -y
Vote “NOWITHVETO”
junctiond tx gov vote 1 NoWithVeto --from wallet --chain-id varanasi-1 --fees 500uamf -y
Maintenance
Get sync info
junctiond status 2>&1 | jq .sync_info
Get node peer
echo $(junctiond tendermint show-node-id)'@'$(wget -qO- eth0.me)':'$(cat $HOME/.junctiond/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')
Get live peers
curl -sS http://localhost:13757/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}'
Enable Prometheus
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.junctiond/config/config.toml
Set minimum gas price
sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0.0025uamf\"|" $HOME/.junctiond/config/app.toml
Disable indexer
sed -i -e 's|^indexer *=.*|indexer = "null"|' $HOME/.junctiond/config/config.toml
Enable indexer
sed -i -e 's|^indexer *=.*|indexer = "kv"|' $HOME/.junctiond/config/config.toml
Update pruning
sed -i -e 's|^pruning *=.*|pruning = "custom"|' $HOME/.junctiond/config/app.tomlsed -i -e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' $HOME/.junctiond/config/app.tomlsed -i -e 's|^pruning-interval *=.*|pruning-interval = "10"|' $HOME/.junctiond/config/app.toml
Filter peers and max peers
sed -i -e 's|^filter_peers *=.*|filter_peers = "true"|' $HOME/.junctiond/config/config.tomlsed -i -e 's|^max_num_inbound_peers *=.*|max_num_inbound_peers = "50"|' $HOME/.junctiond/config/config.tomlsed -i -e 's|^max_num_outbound_peers *=.*|max_num_outbound_peers = "20"|' $HOME/.junctiond/config/config.toml
Update ports
CUSTOM_PORT=137sed -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/.junctiond/config/config.tomlsed -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/.junctiond/config/app.toml
Reset chain data
junctiond tendermint unsafe-reset-all --keep-addr-book --home $HOME/.junctiond
Delete node
sudo systemctl stop junctiondsudo systemctl disable junctiondsudo rm -rf /etc/systemd/system/junctiond.servicesudo systemctl daemon-reloadsudo rm -f $(which junctiond)sudo rm -rf $HOME/.junctiond
Service Management
Status service
sudo systemctl status junctiond
Start service
sudo systemctl start junctiond
Stop service
sudo systemctl stop junctiond
Restart service
sudo systemctl restart junctiond
Logs service
sudo journalctl -u junctiond -f --no-hostname -o cat
Reload service
sudo systemctl daemon-reload
Enable service
sudo systemctl enable junctiond
Disable service
sudo systemctl disable junctiond