πŸ’‘ Useful commands

βš™οΈ Service Commands

Check Logs

sudo journalctl -u sided -f -o cat

Start service

sudo systemctl start sided

Stop service

sudo systemctl stop sided

Restart service

sudo systmctl restart sided

Check status

sudo systemctl status sided

Enable Service

sudo systemctl enable sided

Reload service

sudo systemctl daemon-reload

Disable service

sudo systemctl disable sided

Check synchronization status

sided status | jq | grep "catching_up"

If "true" - not synchronized // "false" - synchronized

Check the latest block of your validator and the last block of the network

local_height=$(sided status | jq -r .sync_info.latest_block_height); network_height=$(curl -s https://rpc.side-testnet.unitynodes.com/status | jq -r .result.sync_info.latest_block_height); blocks_left=$((network_height - local_height)); echo "Your node height: $local_height"; echo "Network height: $network_height"; echo "Blocks left: $blocks_left"

Example:

View the ports used node

ss -tulpn | grep sided

βš™οΈ Key Command

Create new wallet

sided keys add wallet

Recovery wallet

sided keys add wallet --recover

List all wallet

sided keys list

Delete wallet

sided keys delete wallet

Export wallet

sided keys export wallet

Import wallet

sided keys import wallet wallet.backup 

Check wallet balance

sided q bank balances $(sided keys show wallet -a) 

βš™οΈ Validator Commands

Create validator

sided tx staking create-validator \
--amount 1000000uside \
--from $WALLET \ #Wallet name, as specified during creation, or typically 'wallet'.
--commission-rate 0.1 \
--commission-max-rate 0.2 \
--commission-max-change-rate 0.01 \
--min-self-delegation 1 \
--pubkey $(sided tendermint show-validator) \
--moniker "$MONIKER" \ #Validator name, displayed in explorers. 
--identity "" \        #Use your KeyBase ID. If you don't have one, leave it empty.
--details "$DESCRIPTION_OF_YOUR_VALIDATOR" \ #Any details about your validator.
--chain-id S2-testnet-2 \
--fees=10000uside \ \
-y

You can leave the text after # unchanged - it's a commented hint that won't affect validator creation.

β—½ Replace the following values with your own: WALLET - usually it's 'wallet', or your wallet's name. MONIKER - any convenient name for your validator, displayed in the explorer. IDENTITY - validator's avatar, displayed in the explorer. Create a KeyBase ID following the instructions or leave it empty, and it will default to a standard one. DETAILS - details about your validator, also displayed in the explorer.

Replace all necessary values indicated above with the $ sign to successfully create your validator. β—½ Example: sided tx staking create-validator \

--amount 1000000uside \
--from wallet \ 
--commission-rate 0.1 \
--commission-max-rate 0.2 \
--commission-max-change-rate 0.01 \
--min-self-delegation 1 \
--pubkey $(sided tendermint show-validator) \
--moniker "Oliver" \ 
--identity "" \        
--details "Reliable validator for your network." \ 
--chain-id S2-testnet-2 \
--fees 10000uside \
-y

Update validator information

sided tx staking edit-validator \
--commission-rate 0.1 \
--new-moniker "$MONIKER" \
--identity "" \
--details "$NEW_DETAILS" \
--from $WALLET \
--chain-id side-testnet-3 \
--fees 300uside \
-y

Validator details

sided q staking validator $(sided keys show wallet --bech val -a)

Jailing info

sided q staking validator $(sided keys show wallet --bech val -a) | grep -E "jailed"

If "true" - your validator is jailed // "false" - your validator is not jailed

Jail reason

sided q slashing signing-info $(sided tendermint show-validator)

Unjail command

sided tx slashing unjail \
--chain-id side-testnet-3 \
--gas-prices 0.005uside \
--gas-adjustment 1.5 \
--from wallet \ # Or another wallet name
-y 

Information about delegation at your validator

sided q staking validator $(sided keys show wallet --bech val -a) | grep -E "tokens"

Active Validators list

sided q staking validators -oj --limit=2000 | jq '.validators[] | select(.status=="BOND_STATUS_BONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " 	 " + .description.moniker' | sort -gr | nl

Inactive Validator list

sided q staking validators -oj --limit=2000 | 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 

Signing Info

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

βš™οΈ Tokens Commands

Delegate to yourself

sided tx staking delegate $(sided keys show wallet --bech val -a) 1000000uside --from wallet --chain-id side-testnet-3 --gas-prices 0.000001uside --gas-adjustment 1.5 -y 

Delegate to another validator

sided tx staking delegate <TO_VALOPER_ADDRESS> 1000000uside --from $WALLET --chain-id side-testnet-3 --fees 300uside -y

Redelegate your stake to other validator

sided tx staking redelegate $VALOPER_ADDRESS <TO_VALOPER_ADDRESS> 1000000uside --from $WALLET --chain-id side-testnet-3 --fees 300uside -y

Unbond stake

sided tx staking unbond $(sided keys show $WALLET --bech val -a) 1000000uside --from $WALLET --chain-id side-testnet-3 --fees 300uside -y

Send tokens

sided tx bank send $WALLET_ADDRESS <TO_WALLET_ADDRESS> 1000000uside --fees 300uside -y

Check wallet balance

sided q bank balances $(sided keys show wallet -a)

Transaction details

sided query tx HASH_TX

Withdraw all rewards

sided tx distribution withdraw-all-rewards --from $WALLET --chain-id side-testnet-3 --fees 300uside

Withdraw rewards and commission from your validator

sided tx distribution withdraw-rewards $VALOPER_ADDRESS --from $WALLET --commission --chain-id side-testnet-3 --fees 300uside -y

βš™οΈ Governance

List All Proposals

sided query gov proposals

View proposal by ID

sided query gov proposal ID

Vote "YES"

sided tx gov vote PROPOSAL_ID yes --from wallet --chain-id side-testnet-3 --gas-prices 0.000001uside --gas-adjustment 1.5 -y 

Vote "NO"

sided tx gov vote PROPOSAL_ID no --from wallet --chain-id side-testnet-3 --gas-prices 0.000001uside --gas-adjustment 1.5 -y 

Vote "NO_WITH_VETO"

sided tx gov vote PROPOSAL_ID no_with_veto --from wallet --chain-id side-testnet-3 --gas-prices 0.000001uside --gas-adjustment 1.5 -y 

Vote "ABSTAIN"

sided tx gov vote PROPOSAL_ID abstain --from wallet --chain-id side-testnet-3 --gas-prices 0.000001uside --gas-adjustment 1.5 -y 

Create new text proposal

sided tx gov submit-proposal \
--title="Title" \ #Change Title
--description="Description" \
--deposit=1000000uside \
--type="Text" \   #Change text proposal
--from=wallet \   #Change name wallet
--gas-prices=0.000001uside \
--gas-adjustment=1.5 \
-y 

βš™οΈ Utility

Set Custom Port

# Change CUSTOM_PORT to any other value, or leave it as is.
CUSTOM_PORT=29
sed -i.bak -e "s%:26658%:${CUSTOM_PORT}658%; s%:26657%:${CUSTOM_PORT}657%; s%:6060%:${CUSTOM_PORT}060%; s%:26656%:${CUSTOM_PORT}656%; s%:26660%:${CUSTOM_PORT}660%" $HOME/.side/config/config.toml && sed -i.bak -e "s%:9090%:${CUSTOM_PORT}090%; s%:9091%:${CUSTOM_PORT}091%; s%:1317%:${CUSTOM_PORT}317%; s%:8545%:${CUSTOM_PORT}545%; s%:8546%:${CUSTOM_PORT}546%; s%:6065%:${CUSTOM_PORT}065%" $HOME/.side/config/app.toml && sed -i.bak -e "s%:26657%:${CUSTOM_PORT}657%" $HOME/.side/config/client.toml
sudo systemctl restart sided
journalctl -u sided -f -o cat

Set Indexer

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

Update Pruning

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 = "17"|' $HOME/.side/config/app.toml

Reset node

sided tendermint unsafe-reset-all --home $HOME/.side --keep-addr-book

Get denom info

sided q bank denom-metadata -oj | jq

Get Node Peer

echo $(sided tendermint show-node-id)'@'$(curl -s ifconfig.me)':'$(cat $HOME/.side/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//') 

Update server name

 sudo hostnamectl set-hostname server_name

How much SSD use Side Protocol (currently)

du -sh $HOME/.side/

How much RAM use Side Protocol (currently)

ps -p $(pgrep sided) -o rss= | awk '{printf("The process uses memory:: %.2f MB\n", $1/1024)}'

How much CPU use Side Protocol (currently)

ps -C sided -o %cpu --no-headers | awk '{print $1"% CPU"}'

Delete node

sudo systemctl stop sided
sudo systemctl disable sided
sudo rm -rf /etc/systemd/system/sided.service
sudo rm $(which sided)
sudo rm -rf $HOME/.side
sudo rm -rf $HOME/side

Last updated