Skip to content

Latest commit

 

History

History
395 lines (276 loc) · 8.45 KB

cheat-sheet.md

File metadata and controls

395 lines (276 loc) · 8.45 KB
cover coverY
../../.gitbook/assets/juno-banner.jpeg
0

Cheat Sheet

Wallet operations

Create wallet

⚠️ store seed phrase, important during recovering

junod keys add <YOUR_WALLET_NAME>

Recover wallet

⚠️ store seed phrase, important during recovering

junod keys add <YOUR_WALLET_NAME> --recover

List of all wallets

junod keys list

Delete wallet

junod keys delete <YOUR_WALLET_NAME>

Export wallet

⚠️ save to wallet.backup

junod keys export <YOUR_WALLET_NAME>

Import wallet

junod keys import <WALLET_NAME> wallet.backup

Check wallet balance

junod q bank balances $(junod keys show <YOUR_WALLET_NAME> -a)

Validator operations

Create validator

junod tx staking create-validator \
--amount=1000000ujunox \
--pubkey=$(junod tendermint show-validator) \
--moniker="<Your moniker>" \
--identity=<Your identity> \
--details="<Your details>" \
--chain-id=uni-6 \
--commission-rate=0.05 \
--commission-max-rate=0.20 \
--commission-max-change-rate=0.1 \
--min-self-delegation=1 \
--from=<YOUR_WALLET> \
--gas-prices=0.1ujunox \
--gas-adjustment=1.5 \
--gas=auto \
-y

Edit validator

junod tx staking edit-validator \
--new-moniker="<Your moniker>" \
--identity=<your identity> \
--details="<Your details>" \
--commission-rate=0.1 \
--from=<YOUR_WALLET> \
--gas-prices=0.1ujunox \
--gas-adjustment=1.5 \
--gas=auto \
-y

Unjail your validator

junod tx slashing unjail --from <YOUR_WALLET> --gas-prices 0.1ujunox --gas-adjustment 1.5 --gas auto -y

Check blocks info processed by your validator

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

List of active validators

junod 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 of inactive validators

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

Info about your validator

junod q staking validator $(junod keys show <YOUR_WALLET_NAME> --bech val -a)

Transactions

Get your rewards from all validators

junod tx distribution withdraw-all-rewards --from <YOUR_WALLET> --gas-prices 0.1ujunox --gas-adjustment 1.5 --gas auto -y

Get rewards and commissions from your validator

junod tx distribution withdraw-rewards $(junod keys show <YOUR_WALLET_NAME> --bech val -a) --commission --from <YOUR_WALLET> --gas-prices 0.1ujunox --gas-adjustment 1.5 --gas auto -y

Delegate tokens to your validator

junod tx staking delegate $(junod keys show <YOUR_WALLET_NAME> --bech val -a) 1000000ujunox --from <YOUR_WALLET> --gas-prices 0.1ujunox --gas-adjustment 1.5 --gas auto -y

Delegate tokens to validator

junod tx staking delegate <VALOPER_ADDRESS> 1000000ujunox --from <YOUR_WALLET> --gas-prices 0.1ujunox --gas-adjustment 1.5 --gas auto -y

Redelegate tokens to another validator

junod tx staking redelegate <SRC_VALOPER_ADDRESS> <TARGET_VALOPER_ADDRESS> 1000000ujunox --from <WALLET> --gas-prices 0.1ujunox --gas-adjustment 1.5 --gas auto -y

Unbound tokens from validator

⚠️ it’s can take a while, ~21 days, depends on network’s parameters

junod tx staking unbond <VALOPER_ADDRESS> 1000000ujunox --from <YOUR_WALLET> --gas-prices 0.1ujunox --gas-adjustment 1.5 --gas auto -y

Send tokens to another wallet

junod tx bank send <YOUR_WALLET_ADDRESS> <TARGET_WALLET_ADDRESS> 1000000ujunox --from <YOUR_WALLET_ADDRESS> --gas-prices 0.1ujunox --gas-adjustment 1.5 --gas auto -y

Check info about transaction by hash TX_HASH

junod query tx <TX_HASH>

Governance

Submit text proposal

junod tx gov submit-proposal \
--title="<Your Title>" \
--description="<Your Description>" \
--deposit=1000000ujunox \
--type="Text" \
--from=<WALLET_ADDRESS> \
--gas-prices=0.1ujunox \
--gas-adjustment=1.5 \
--gas=auto \
-y

List of all proposals

junod query gov proposals

Check proposal info by proposal id

junod query gov proposal <proposal_id>

Deposit proposal by proposal id

junod tx gov deposit 1 1000000ujunox --from <YOUR_WALLET> --gas-prices 0.1ujunox --gas-adjustment 1.5 --gas auto -y

Vote as, YES

junod tx gov vote 1 yes --from <YOUR_WALLET> --gas-prices 0.1ujunox --gas-adjustment 1.5 --gas auto -y

Vote as, NO

junod tx gov vote 1 no --from <YOUR_WALLET> --gas-prices 0.1ujunox --gas-adjustment 1.5 --gas auto -y

Vote as, NO_WITH_VETO

junod tx gov vote 1 no_with_veto --from <YOUR_WALLET> --gas-prices 0.1ujunox --gas-adjustment 1.5 --gas auto -y

Vote as, ABSTAIN

junod tx gov vote 1 abstain --from <YOUR_WALLET> --gas-prices 0.1ujunox --gas-adjustment 1.5 --gas auto -y

Utils

Change ports to custom

sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:36658\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:36657\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:7060\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:36656\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":36660\"%" $HOME/.juno/config/config.toml && \
sed -i.bak -e "s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:10090\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:10091\"%; s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:2317\"%" $HOME/.juno/config/app.toml && \
sed -i.bak -e "s%^node = \"tcp://localhost:26657\"%node = \"tcp://localhost:36657\"%" $HOME/.juno/config/client.toml

Turn on indexing

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

Turn off indexing

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

Setup custom prunning

APP_TOML="~/.juno/config/app.toml"
sed -i 's|^pruning *=.*|pruning = "custom"|' $APP_TOML
sed -i 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' $APP_TOML
sed -i 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' $APP_TOML
sed -i 's|^pruning-interval *=.*|pruning-interval = "10"|' $APP_TOML

Check your peer

echo $(junod tendermint show-node-id)@$(curl http://ifconfig.me/)$(grep -A 3 "\[p2p\]" ~/.juno/config/config.toml | egrep -o ":[0-9]+")

Check your RPC

echo -e "\033[0;32m$(grep -A 3 "\[rpc\]" ~/.juno/config/config.toml | egrep -o ":[0-9]+")\033[0m"

Check information about validator

junod status 2>&1 | jq .ValidatorInfo

Check synchronisation status (false - synced, true - not synced)

junod status 2>&1 | jq .SyncInfo.catching_up

Check the latest block

junod status 2>&1 | jq .SyncInfo.latest_block_height

Reset network

junod tendermint unsafe-reset-all --home $HOME/.juno --keep-addr-book

Delete node

sudo systemctl stop junod && \
sudo systemctl disable junod && \
sudo rm /etc/systemd/system/junod.service && \
sudo systemctl daemon-reload && \
rm -rf $HOME/.juno && \
rm -rf $HOME/juno

Check IP address of the server

wget -qO- eth0.me

Check network parameters

junod q staking params
junod q slashing params

Check validator private key is correct

[[ $(junod q staking validator $(junod keys show <YOUR_WALLET> --bech val -a) -oj | jq -r .consensus_pubkey.key) = $(junod 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"

Search all output transactions by address

junod q txs --events transfer.sender=<ADDRESS> 2>&1 | jq | grep txhash

Search all input transactions by address

junod q txs --events transfer.recipient=<ADDRESS> 2>&1 | jq | grep txhash

Service management

Reload services

sudo systemctl daemon-reload

Enable service

sudo systemctl enable junod

Disable service

sudo systemctl disable junod

Start service

sudo systemctl start junod

Stop service

sudo systemctl stop junod

Restart service

sudo systemctl restart junod

Check service status

sudo systemctl status junod

Check service logs

sudo journalctl -u junod -f -o cat