πŸ’‘ Useful commands

βš™οΈ Service Commands

Check Logs

sudo journalctl -u sedad -f -o cat

Start service

sudo systemctl start sedad

Stop service

sudo systemctl stop sedad

Restart service

sudo systmctl restart sedad

Check status

sudo systemctl status sedad

Enable Service

sudo systemctl enable sedad 

Reload service

sudo systemctl daemon-reload

Disable service

sudo systemctl disable sedad

Check synchronization status

sedad 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=$(sedad status | jq -r .sync_info.latest_block_height); network_height=$(curl -s https://rpc.seda-mainnet.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 sedad

βš™οΈ Key Command

Create new wallet

sedad keys add wallet

Recovery wallet

sedad keys add wallet --recover

List all wallet

sedad keys list

Delete wallet

sedad keys delete wallet

Export wallet

sedad keys export wallet

Import wallet

sedad keys import wallet wallet.backup 

Check wallet balance

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

βš™οΈ Validator Commands

Create validator

sedad tx staking create-validator \
--amount=1000000aseda \
--pubkey=$(sedad tendermint show-validator) \
--moniker="YOUR_MONIKER" \ #Validator name, displayed in explorers.
--identity="" \ #Use your KeyBase ID. If you don't have one, leave it empty.
--website "" \ #Your website is available, or leave the field blank
--details="" \ #Any details about your validator.
--chain-id=seda-1 \
--commission-rate=0.10 \
--commission-max-rate=0.20 \
--commission-max-change-rate=0.01 \
--min-self-delegation=1 \
--from=wallet \ #or your wallet name
--gas-prices=10000000000aseda \
--gas-adjustment=1.5 \
--gas=auto \
-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:

sedad tx staking create-validator \
--amount=1000000aseda \
--pubkey=$(sedad tendermint show-validator) \
--moniker "Alex" \ #Validator name, displayed in explorers.
--identity "" \ #Use your KeyBase ID. If you don't have one, leave it empty.
--website "mywebsite.com" \ #Your website is available, or leave the field blank
--details "A reliable validator of your network" \ #Any details about your validator.
--chain-id=seda-1 \
--commission-rate=0.10 \
--commission-max-rate=0.20 \
--commission-max-change-rate=0.01 \
--min-self-delegation=1 \
--from=wallet \ #or your wallet name
--gas-prices=10000000000aseda \
--gas-adjustment=1.5 \
--gas=auto \
-y 

Update validator information

sedad tx staking edit-validator \
--commission-rate 0.1 \
--new-moniker "YOUR_NEW_MONIKER" \
--identity "" \ #Use your KeyBase ID. If you don't have one, leave it empty.
--details "NEW_DETAILS" \
--from wallet \ #or your wallet name
--chain-id=seda-1 \
--from=wallet \
--gas-prices=10000000000aseda \
--gas-adjustment=1.5 \
--gas=auto \
-y 

Validator details

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

Jailing info

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

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

Jail reason

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

Unjail command

sedad tx slashing unjail \
--chain-id seda-1 \
--from wallet \ # Or another wallet name
--gas-prices 10000000000aseda \
--gas-adjustment 1.5 \
--gas auto \
-y 

Information about delegation at your validator

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

Active Validators list

sedad 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

sedad 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

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

βš™οΈ Tokens Commands

Delegate to yourself

sedad tx staking delegate $(sedad keys show wallet --bech val -a) 1000000aseda --from wallet --chain-id seda-1 --gas-prices 10000000000aseda --gas-adjustment 1.5 --gas auto -y 

Delegate to another validator

sedad tx staking delegate YOUR_TO_VALOPER_ADDRESS 1000000aseda --from wallet --chain-id seda-1 --gas-prices 10000000000aseda --gas-adjustment 1.5 --gas auto -y 

Redelegate your stake to other validator

sedad tx staking redelegate $(sedad keys show wallet --bech val -a) YOUR_TO_VALOPER_ADDRESS 1000000aseda --from wallet --chain-id seda-1 --gas-prices 10000000000aseda --gas-adjustment 1.5 --gas auto -y 

Unbond stake

sedad tx staking unbond $(sedad keys show wallet --bech val -a) 1000000aseda --from wallet --chain-id seda-1 --gas-prices 10000000000aseda --gas-adjustment 1.5 --gas auto -y 

Send tokens

sedad tx bank send wallet YOUR_TO_WALLET_ADDRESS 1000000aseda --from wallet --chain-id seda-1 --gas-prices 10000000000aseda --gas-adjustment 1.5 --gas auto -y 

Check wallet balance

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

Transaction details

sedad query tx HASH_TX

Withdraw all rewards

sedad tx distribution withdraw-all-rewards --from wallet --chain-id seda-1 --gas-prices 10000000000aseda --gas-adjustment 1.5 --gas auto -y 

Withdraw rewards and commission from your validator

sedad tx distribution withdraw-rewards $(sedad keys show wallet --bech val -a) --commission --from wallet --chain-id seda-1 --gas-prices 10000000000aseda --gas-adjustment 1.5 --gas auto -y 

βš™οΈ Governance

List All Proposals

sedad query gov proposals

View proposal by ID

sedad query gov proposal ID

Vote "YES"


sedad tx gov vote 1 yes --from wallet --chain-id seda-1 --gas-prices 10000000000aseda --gas-adjustment 1.5 --gas auto -y 

Vote "NO"

sedad tx gov vote 1 no --from wallet --chain-id seda-1 --gas-prices 10000000000aseda --gas-adjustment 1.5 --gas auto -y 

Vote "NO_WITH_VETO"

sedad tx gov vote 1 no_with_veto --from wallet --chain-id seda-1 --gas-prices 10000000000aseda --gas-adjustment 1.5 --gas auto -y 

Vote "ABSTAIN"

sedad tx gov vote 1 abstain --from wallet --chain-id seda-1 --gas-prices 10000000000aseda --gas-adjustment 1.5 --gas auto -y 

Create new text proposal

sedad tx gov submit-proposal \
--title="Title" \ #Change Title
--description="Description" \
--deposit=1000000uinit \
--type="Text" \   #Change text proposal
--from=wallet \   #Change name wallet
--gas-prices=10000000000aseda \
--gas-adjustment=1.5 \
--gas=auto \
-y 

βš™οΈ Utility

Set Custom Port

# Change CUSTOM_PORT to any other value, or leave it as is.
CUSTOM_PORT=23
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/.sedad/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/.sedad/config/app.toml && sed -i.bak -e "s%:26657%:${CUSTOM_PORT}657%" $HOME/.sedad/config/client.toml
sudo systemctl restart sedad
journalctl -u sedad -f -o cat

Set Indexer

sed -i 's|^indexer *=.*|indexer = "null"|' $HOME/.sedad/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/.sedad/config/app.toml

Reset node

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

Get denom info

sedad q bank denom-metadata -oj | jq

Get Node Peer

echo $(sedad tendermint show-node-id)'@'$(curl -s ifconfig.me)':'$(cat $HOME/.sedad/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 node (currently)

du -sh $HOME/.sedad/

How much RAM use node (currently)

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

How much CPU use node (currently)

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

Delete node

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

Last updated