Cheat Sheet
Wallet operations
Create wallet
⚠️ store seed phrase, important during recovering
quasard keys add <YOUR_WALLET_NAME>Recover wallet
⚠️ store seed phrase, important during recovering
quasard keys add <YOUR_WALLET_NAME> --recoverList of all wallets
quasard keys listDelete wallet
quasard keys delete <YOUR_WALLET_NAME>Export wallet
⚠️ save to wallet.backup
quasard keys export <YOUR_WALLET_NAME>Import wallet
quasard keys import <WALLET_NAME> wallet.backupCheck wallet balance
quasard q bank balances $(quasard keys show <YOUR_WALLET_NAME> -a)Validator operations
Create validator
quasard tx staking create-validator \
--amount=1000000uqsr \
--pubkey=$(quasard tendermint show-validator) \
--moniker="<Your moniker>" \
--identity=<Your identity> \
--details="<Your details>" \
--chain-id=quasar-1 \
--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.01ibc/0471F1C4E7AFD3F07702BEF6DC365268D64570F7C1FDC98EA6098DD6DE59817B \
--gas-adjustment=2.0 \
--gas=auto \
-yEdit validator
quasard tx staking edit-validator \
--new-moniker="<Your moniker>" \
--identity=<your identity> \
--details="<Your details>" \
--commission-rate=0.1 \
--from=<YOUR_WALLET> \
--gas-prices=0.01ibc/0471F1C4E7AFD3F07702BEF6DC365268D64570F7C1FDC98EA6098DD6DE59817B \
--gas-adjustment=2.0 \
--gas=auto \
-yUnjail your validator
quasard tx slashing unjail --from <YOUR_WALLET> --gas-prices 0.01ibc/0471F1C4E7AFD3F07702BEF6DC365268D64570F7C1FDC98EA6098DD6DE59817B --gas-adjustment 2.0 --gas auto -yCheck blocks info processed by your validator
quasard query slashing signing-info $(quasard tendermint show-validator)List of active validators
quasard 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 | nlList of inactive validators
quasard 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 | nlInfo about your validator
quasard q staking validator $(quasard keys show <YOUR_WALLET_NAME> --bech val -a)Transactions
Get your rewards from all validators
quasard tx distribution withdraw-all-rewards --from <YOUR_WALLET> --gas-prices 0.01ibc/0471F1C4E7AFD3F07702BEF6DC365268D64570F7C1FDC98EA6098DD6DE59817B --gas-adjustment 2.0 --gas auto -yGet rewards and commissions from your validator
quasard tx distribution withdraw-rewards $(quasard keys show <YOUR_WALLET_NAME> --bech val -a) --commission --from <YOUR_WALLET> --gas-prices 0.01ibc/0471F1C4E7AFD3F07702BEF6DC365268D64570F7C1FDC98EA6098DD6DE59817B --gas-adjustment 2.0 --gas auto -yDelegate tokens to your validator
quasard tx staking delegate $(quasard keys show <YOUR_WALLET_NAME> --bech val -a) 1000000uqsr --from <YOUR_WALLET> --gas-prices 0.01ibc/0471F1C4E7AFD3F07702BEF6DC365268D64570F7C1FDC98EA6098DD6DE59817B --gas-adjustment 2.0 --gas auto -yDelegate tokens to validator
quasard tx staking delegate <VALOPER_ADDRESS> 1000000uqsr --from <YOUR_WALLET> --gas-prices 0.01ibc/0471F1C4E7AFD3F07702BEF6DC365268D64570F7C1FDC98EA6098DD6DE59817B --gas-adjustment 2.0 --gas auto -yRedelegate tokens to another validator
quasard tx staking redelegate <SRC_VALOPER_ADDRESS> <TARGET_VALOPER_ADDRESS> 1000000uqsr --from <WALLET> --gas-prices 0.01ibc/0471F1C4E7AFD3F07702BEF6DC365268D64570F7C1FDC98EA6098DD6DE59817B --gas-adjustment 2.0 --gas auto -yUnbound tokens from validator
⚠️ it’s can take a while, ~21 days, depends on network’s parameters
quasard tx staking unbond <VALOPER_ADDRESS> 1000000uqsr --from <YOUR_WALLET> --gas-prices 0.01ibc/0471F1C4E7AFD3F07702BEF6DC365268D64570F7C1FDC98EA6098DD6DE59817B --gas-adjustment 2.0 --gas auto -ySend tokens to another wallet
quasard tx bank send <YOUR_WALLET_ADDRESS> <TARGET_WALLET_ADDRESS> 1000000uqsr --from <YOUR_WALLET_ADDRESS> --gas-prices 0.01ibc/0471F1C4E7AFD3F07702BEF6DC365268D64570F7C1FDC98EA6098DD6DE59817B --gas-adjustment 2.0 --gas auto -yCheck info about transaction by hash TX_HASH
quasard query tx <TX_HASH>Governance
Submit text proposal
quasard tx gov submit-proposal \
--title="<Your Title>" \
--description="<Your Description>" \
--deposit=1000000uqsr \
--type="Text" \
--from=<WALLET_ADDRESS> \
--gas-prices=0.01ibc/0471F1C4E7AFD3F07702BEF6DC365268D64570F7C1FDC98EA6098DD6DE59817B \
--gas-adjustment=2.0 \
--gas=auto \
-yList of all proposals
quasard query gov proposalsCheck proposal info by proposal id
quasard query gov proposal <proposal_id>Deposit proposal by proposal id
quasard tx gov deposit 1 1000000uqsr --from <YOUR_WALLET> --gas-prices 0.01ibc/0471F1C4E7AFD3F07702BEF6DC365268D64570F7C1FDC98EA6098DD6DE59817B --gas-adjustment 2.0 --gas auto -yVote as, YES
quasard tx gov vote 1 yes --from <YOUR_WALLET> --gas-prices 0.01ibc/0471F1C4E7AFD3F07702BEF6DC365268D64570F7C1FDC98EA6098DD6DE59817B --gas-adjustment 2.0 --gas auto -yVote as, NO
quasard tx gov vote 1 no --from <YOUR_WALLET> --gas-prices 0.01ibc/0471F1C4E7AFD3F07702BEF6DC365268D64570F7C1FDC98EA6098DD6DE59817B --gas-adjustment 2.0 --gas auto -yVote as, NO_WITH_VETO
quasard tx gov vote 1 no_with_veto --from <YOUR_WALLET> --gas-prices 0.01ibc/0471F1C4E7AFD3F07702BEF6DC365268D64570F7C1FDC98EA6098DD6DE59817B --gas-adjustment 2.0 --gas auto -yVote as, ABSTAIN
quasard tx gov vote 1 abstain --from <YOUR_WALLET> --gas-prices 0.01ibc/0471F1C4E7AFD3F07702BEF6DC365268D64570F7C1FDC98EA6098DD6DE59817B --gas-adjustment 2.0 --gas auto -yUtils
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/.quasarnode/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/.quasarnode/config/app.toml && \
sed -i.bak -e "s%^node = \"tcp://localhost:26657\"%node = \"tcp://localhost:36657\"%" $HOME/.quasarnode/config/client.tomlTurn on indexing
sed -i 's|^indexer *=.*|indexer = "kv"|' $HOME/.quasarnode/config/config.tomlTurn off indexing
sed -i 's|^indexer *=.*|indexer = "null"|' $HOME/.quasarnode/config/config.tomlSetup custom prunning
APP_TOML="~/.quasarnode/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_TOMLCheck your peer
echo $(quasard tendermint show-node-id)@$(curl http://ifconfig.me/)$(grep -A 3 "\[p2p\]" ~/.quasarnode/config/config.toml | egrep -o ":[0-9]+")Check your RPC
echo -e "\033[0;32m$(grep -A 3 "\[rpc\]" ~/.quasarnode/config/config.toml | egrep -o ":[0-9]+")\033[0m"Check information about validator
quasard status 2>&1 | jq .ValidatorInfoCheck synchronisation status (false - synced, true - not synced)
quasard status 2>&1 | jq .SyncInfo.catching_upCheck the latest block
quasard status 2>&1 | jq .SyncInfo.latest_block_heightReset network
quasard tendermint unsafe-reset-all --home $HOME/.quasarnode --keep-addr-bookDelete node
sudo systemctl stop quasard && \
sudo systemctl disable quasard && \
sudo rm /etc/systemd/system/quasard.service && \
sudo systemctl daemon-reload && \
rm -rf $HOME/.quasarnode && \
rm -rf $HOME/quasarCheck IP address of the server
wget -qO- eth0.meCheck network parameters
quasard q staking params
quasard q slashing paramsCheck validator private key is correct
[[ $(quasard q staking validator $(quasard keys show <YOUR_WALLET> --bech val -a) -oj | jq -r .consensus_pubkey.key) = $(quasard 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
quasard q txs --events transfer.sender=<ADDRESS> 2>&1 | jq | grep txhashSearch all input transactions by address
quasard q txs --events transfer.recipient=<ADDRESS> 2>&1 | jq | grep txhashService management
Reload services
sudo systemctl daemon-reloadEnable service
sudo systemctl enable quasardDisable service
sudo systemctl disable quasardStart service
sudo systemctl start quasardStop service
sudo systemctl stop quasardRestart service
sudo systemctl restart quasardCheck service status
sudo systemctl status quasardCheck service logs
sudo journalctl -u quasard -f -o catLast updated
