Last updated
Last updated
Add new key
selfchaind keys add wallet
Recover existing key
selfchaind keys add wallet --recover
List All key
selfchaind keys list
Delete key
selfchaind keys delete wallet
Export Key (save to wallet.backup)
selfchaind keys export wallet
Import key
selfchaind keys import wallet wallet.backup
Query Wallet Balance
selfchaind q bank balances $(selfchaind keys show wallet -a)
Create Validator
selfchaind tx staking create-validator \
--amount 1000000uself \
--pubkey $(selfchaind tendermint show-validator) \
--moniker "MONIKER" \
--identity="YOUR_KEYBASE_ID" \
--details="YOUR_DETAILS" \
--website="YOUR_WEBSITE_URL" \
--chain-id self-dev-1 \
--commission-rate="0.05" \
--commission-max-rate="0.20" \
--commission-max-change-rate="0.01" \
--min-self-delegation "1" \
--gas-prices="0.005uself" \
--gas="auto" \
--gas-adjustment="1.5" \
--from wallet \
-y
Edit Validator
selfchaind tx staking edit-validator \
--new-moniker="MONIKER" \
--identity="YOUR_KEYBASE_ID" \
--details="YOUR_DETAILS" \
--website="YOUR_WEBSITE_URL" \
--chain-id self-dev-1 \
--commission-rate=0.05 \
--gas-prices="0.005uself" \
--gas="auto" \
--gas-adjustment="1.5" \
--from wallet \
-y
Unjail Validator
selfchaind tx slashing unjail --from wallet --chain-id self-dev-1 --gas-prices=0.005uself --gas-adjustment 1.5 --gas auto -y
Signing Info
selfchaind query slashing signing-info $(selfchaind tendermint show-validator)
List all active validators
selfchaind 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
List all inactive validators
selfchaind 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 | nl
View validators details
selfchaind q staking validator $(selfchaind keys show wallet --bech val -a)
Withdraw rewards from all validators
selfchaind tx distribution withdraw-all-rewards --from wallet --chain-id self-dev-1 --gas-prices=0.005uself --gas-adjustment 1.5 --gas auto -y
Withdraw comission and rewards from your validator
selfchaind tx distribution withdraw-rewards $(selfchaind keys show wallet --bech val -a) --commission --from wallet --chain-id self-dev-1 --gas-prices=0.005uself --gas-adjustment 1.5 --gas auto -y
Delegate to your validator
selfchaind tx staking delegate $(selfchaind keys show wallet --bech val -a) 1000000uself --from wallet --chain-id self-dev-1 --gas-prices=0.005uself --gas-adjustment 1.5 --gas auto -y
Delegate to other
selfchaind tx staking delegate TO_VALOPER_ADDRESS 1000000uself --from wallet --chain-id self-dev-1 --gas-prices=0.005uself --gas-adjustment 1.5 --gas auto -y
Redelegate your stake to other validators
selfchaind tx staking redelegate $(selfchaind keys show wallet --bech val -a) TO_VALOPER_ADDRESS 1000000uself --from wallet --chain-id self-dev-1 --gas-prices=0.005uself --gas-adjustment 1.5 --gas auto -y
Unbond stake
selfchaind tx staking unbond $(selfchaind keys show wallet --bech val -a) 1000000uself --from wallet --chain-id self-dev-1 --gas-prices=0.005uself --gas-adjustment 1.5 --gas auto -y
Send tokens
selfchaind tx bank send wallet TO_WALLET_ADDRESS 1000000uself --from wallet --chain-id self-dev-1 --gas-prices=0.005uself --gas-adjustment 1.5 --gas auto -y
List all proposals
selfchaind query gov proposals
Vote YES / NO / ABSTAIN / NO_WITH_VETO
selfchaind tx gov vote 1 yes --from wallet --chain-id self-dev-1 --gas-prices=0.005uself --gas-adjustment 1.5 --gas auto -y
Create new text proposal
selfchaind tx gov submit-proposal \
--title="Title" \
--description="Description" \
--deposit=100000000uself \
--type="Text" \
--from=wallet \
--gas-prices 0.005uself\
--gas-adjustment 1.5 \
--gas auto \
-y
Set Indexer NULL / KV
sed -i 's|^indexer *=.*|indexer = "null"|' $HOME/.selfchain/config/config.toml
Set Custom Port
CUSTOM_PORT=13
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/.selfchain/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\"%; s%^address = \"0.0.0.0:8545\"%address = \"0.0.0.0:${CUSTOM_PORT}545\"%; s%^ws-address = \"0.0.0.0:8546\"%ws-address = \"0.0.0.0:${CUSTOM_PORT}546\"%" $HOME/.selfchain/config/app.toml
Get Validator info
selfchaind status 2>&1 | jq .ValidatorInfo
Get denom info
selfchaind q bank denom-metadata -oj | jq
Get sync status
selfchaind status 2>&1 | jq .SyncInfo.catching_up
Get latest height
selfchaind status 2>&1 | jq .SyncInfo.latest_block_height
Reset Node
selfchaind tendermint unsafe-reset-all --home $HOME/.selfchain --keep-addr-book
Delete Node
sudo systemctl stop selfchaind && sudo systemctl disable selfchaind && sudo rm /etc/systemd/system/selfchaind.service && sudo systemctl daemon-reload && rm -rf $HOME/.selfchain && sudo rm -rf $(which selfchaind)
# Reload Service
sudo systemctl daemon-reload
# Enable Service
sudo systemctl enable selfchaind
# Disable Service
sudo systemctl disable selfchaind
# Start Service
sudo systemctl start selfchaind
# Stop Service
sudo systemctl stop selfchaind
# Restart Service
sudo systemctl restart selfchaind
# Check Service Status
sudo systemctl status selfchaind
# Check Service Logs
sudo journalctl -u selfchaind -f --no-hostname -o cat