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