Useful commands List of commands used to manage the validator and node
Wallet interaction
Create Wallet
Copy bitsongd keys add <WALLET_NAME>
Restore wallet
Copy bitsongd keys add <WALLET_NAME> --recover
Show all wallets
Delete wallet
Copy bitsongd keys delete <WALLET_NAME>
Export wallet to the file
Copy bitsongd keys export < WALLET_NAM E >
Import wallet from the file
Copy bitsongd keys import < WALLET_NAM E > < WALLET_NAM E > .backup
Show balance
Copy bitsongd q bank balances $(bitsongd keys show <WALLET_NAME> -a)
Validator control
Create a validator
Copy bitsongd tx staking create-validator \
--amount=1000000ubtsg \
--pubkey=$(bitsongd tendermint show-validator) \
--moniker="<YOUR_MONIKER>" \
--chain-id=bitsong-2b \
--commission-rate="0.10" \
--commission-max-rate="0.20" \
--commission-max-change-rate="0.01" \
--min-self-delegation="1" \
--fees 2000ubtsg \
--from=<WALLET_NAME> -y
Edit validator
Copy rebusd tx staking edit-validator \
--new-moniker="<YOUR_MONIKER_NAME>" \
--identity="<YOUR_KEYBASE_ID>" \
--details="<YOUR_DETAILS>" \
--website="<YOUR_WEBSITE_URL>"
--chain-id=bitsong-2b \
--commission-rate=0.05 \
--from=<WALLET_NAME> \
--fees 2000ubtsg -y
Unjail
Copy bitsongd tx slashing unjail --from <WALLET_NAME> --chain-id bitsong-2b --fees 2000ubtsg -y
Jail reason
Copy bitsongd query slashing signing-info $(bitsongd tendermint show-validator)
Active validators
Copy bitsongd 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
Inactive validators
Copy bitsongd 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
Information about the validator
Copy bitsongd q staking validator $(bitsongd keys show <WALLET_NAME> --bech val -a)
Balance management
Withdrawal of all rewards
Copy bitsongd tx distribution withdraw-all-rewards --from <WALLET_NAME> --chain-id bitsong-2b --fees 2000ubtsg -y
Withdrawal of rewards and commissions
Copy bitsongd tx distribution withdraw-rewards <VALOPER_ADDRESS> --commission --from <WALLET_NAME> --chain-id bitsong-2b --fees 2000ubtsg -y
Self-delegation
Copy bitsongd tx staking delegate $(bitsongd keys show <WALLET_NAME> --bech val -a) --commission --from <WALLET> --chain-id bitsong-2b --fees 2000ubtsg -y
Delegation to validator
Copy bitsongd tx staking delegate $(bitsongd keys show <WALLET_NAME> --bech val -a) 1000000ubtsg --from <WALLET> --chain-id bitsong-2b --fees 2000ubtsg -y
Redelegation to another validator
Copy bitsongd tx staking redelegate $(bitsongd keys show <WALLET_NAME> --bech val -a) <TO_VALOPER_ADDRESS> 1000000ubtsg --from <WALLET>--chain-id bitsong-2b --fees 2000ubtsg -y
Unbond tokens
Copy bitsongd tx staking unbond $(bitsongd keys show <WALLET_NAME> --bech val -a) 1000000ubtsg --from <WALLET> --chain-id bitsong-2b --fees 2000ubtsg -y
Sending tokens to a wallet
Copy bitsongd tx bank send <WALLET_NAME> <TO_WALLET_ADDRESS> 1000000ubtsg --from <WALLET_NAME> --fees 2000ubtsg --chain-id bitsong-2b
Governance
All proposals
Copy bitsongd query gov proposals
All proposals by ID
Copy bitsongd query gov proposal 1
Vote "YES"
Copy bitsongd tx gov vote 1 yes --from <WALLET_NAME> --chain-id bitsong-2b --fees 2000ubtsg -y
Vote "NO"
Copy bitsongd tx gov vote 1 no --from <WALLET_NAME> --chain-id bitsong-2b --fees 2000ubtsg -y
Vote "Abstain"
Copy bitsongd tx gov vote 1 abstain --from <WALLET_NAME> --chain-id bitsong-2b --fees 2000ubtsg -y
Vote "NoWithVeto"
Copy bitsongd tx gov vote 1 nowithveto --from <WALLET_NAME> --chain-id bitsong-2b --fees 2000ubtsg -y
Utility
Update ports
Copy CUSTOM_PORT=10
sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${CUSTOM_PORT}658\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${CUSTOM_PORT}657\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:${CUSTOM_PORT}060\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${CUSTOM_PORT}656\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":${CUSTOM_PORT}660\"%" $HOME/.bitsongd/config/config.toml
sed -i.bak -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:${CUSTOM_PORT}317\"%; s%^address = \":8080\"%address = \":${CUSTOM_PORT}080\"%; s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:${CUSTOM_PORT}090\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:${CUSTOM_PORT}091\"%" $HOME/.bitsongd/config/app.toml
Disable Indexer
Copy sed -i 's|^indexer *=.*|indexer = "null"|' $HOME/.bitsongd/config/config.toml
Enable Indexer
Copy sed -i 's|^indexer *=.*|indexer = "kv"|' $HOME/.bitsongd/config/config.toml
Update pruning
Copy sed -i.bak -e 's|^pruning *=.*|pruning = "custom"|; s|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|; s|^pruning-keep-every *=.*|pruning-keep-every = "0"|; s|^pruning-interval *=.*|pruning-interval = "10"|' $HOME/.bitsongd/config/app.toml
Node support
Validator Info
Copy bitsongd status 2>&1 | jq .ValidatorInfo
Sync info
Copy bitsongd status 2>&1 | jq .SyncInfo
Get peers
Copy echo $(bitsongd tendermint show-node-id)'@'$(curl -s ifconfig.me)':'$(cat $HOME/.bitsongd/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')
Validator key check
Copy [[ $(bitsongd q staking validator $(bitsongd keys show <WALLET_NAME> --bech val -a) -oj | jq -r .consensus_pubkey.key) = $(rebusd 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:26657/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}'
Setting the minimum commission
Copy sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0ubtsg\"/" $HOME/.bitsongd/config/app.toml
Enable prometheus
Copy sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.bitsongd/config/config.toml
Reset chain data
Copy bitsongd tendermint unsafe-reset-all --home $HOME/.bitsongd --keep-addr-book
Deleting a node
Before deleting a node make sure you save priv_validator_key.json
Copy sudo systemctl stop bitsongd && \
sudo systemctl disable bitsongd && \
rm /etc/systemd/system/bitsongd.service && \
sudo systemctl daemon-reload && \
cd $HOME && \
rm -rf .bitsongd && \
rm -rf go-bitsong && \
rm -rf $(which bitsongd)
Service setup
Reload service configuration
Copy sudo systemctl daemon-reload
Enable service
Copy sudo systemctl enable bitsongd
Disable service
Copy sudo systemctl disable bitsongd
Start service
Copy sudo systemctl start bitsongd
Stop service
Copy sudo systemctl stop bitsongd
Restart service
Copy sudo systemctl restart bitsongd
Check service status
Copy sudo systemctl status bitsongd
Check service logs
Copy sudo journalctl -u bitsongd -f --no-hostname -o cat
Last updated 2 months ago