Usefull commands for Symphony
🔑 Key management
👛
Change wallet in the commands to your own wallet name.
Add new key
symphonyd keys add wallet
Recover existing key
symphonyd keys add wallet --recover
List all keys
symphonyd keys list
Delete key
symphonyd keys delete wallet
Export key to the file
symphonyd keys export wallet
Import key from the file
symphonyd keys import wallet wallet.backup
Query wallet balance
symphonyd q bank balances $( symphonyd keys show wallet -a)
🧙 Validator management
🙋♀️
Make sure to change values for moniker, identity, details website to your own values.
Edit existing validator
symphonyd tx staking edit-validator \
--new-moniker "YOUR_MONIKER_NAME" \
--identity "YOUR_KEYBASE_ID" \
--details "YOUR_DETAILS" \
--website "YOUR_WEBSITE_URL" \
--chain-id symphony-testnet-3 \
--commission-rate 0.05 \
--from wallet \
--gas-adjustment 1.5 \
--gas auto \
--gas-prices 0.025unote \
-y
Unjail validator
symphonyd tx slashing unjail --from wallet --chain-id symphony-testnet-3 --gas-adjustment 1.5 --gas auto
--gas-prices 0.025unote -y
Jail reason
symphonyd query slashing signing-info $( symphonyd tendermint show-validator)
List all active validators
symphonyd 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
symphonyd 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
View validator details
symphonyd q staking validator $( symphonyd keys show wallet --bech val -a)
🪙 Token management
Withdraw rewards from all validators
symphonyd tx distribution withdraw-all-rewards --from wallet --chain-id symphony-testnet-3 --gas-adjustment 1.5 --gas auto --gas-prices 0.025unote -y
Withdraw commission and rewards from your validator
symphonyd tx distribution withdraw-rewards $( symphonyd keys show wallet --bech val -a) --commission --from wallet --chain-id symphony-testnet-3 --gas-adjustment 1.5 --gas auto --gas-prices 0.025unote -y
Delegate tokens to yourself
symphonyd tx staking delegate $( symphonyd keys show wallet --bech val -a) 1000000unote --from wallet --chain-id symphony-testnet-3 --gas-adjustment 1.5 --gas auto --gas-prices 0.025unote -y
Delegate tokens to validator
symphonyd tx staking delegate <TO_VALOPER_ADDRESS> 1000000unote --from wallet --chain-id symphony-testnet-3 --gas-adjustment 1.5 --gas auto --gas-prices 0.025unote -y
Redelegate tokens to another validator
symphonyd tx staking redelegate $( symphonyd keys show wallet --bech val -a) <TO_VALOPER_ADDRESS> 1000000unote --from wallet --chain-id symphony-testnet-3 --gas-adjustment 1.5 --gas auto --gas-prices 0.025unote -y
Unbond tokens from your validator
symphonyd tx staking unbond $( symphonyd keys show wallet --bech val -a) 1000000unote --from wallet --chain-id symphony-testnet-3 --gas-adjustment 1.5 --gas auto --gas-prices 0.025unote -y
Send tokens to the wallet
symphonyd tx bank send wallet <TO_WALLET_ADDRESS> 1000000unote --from wallet --chain-id symphony-testnet-3 --gas-adjustment 1.5 --gas auto --gas-prices 0.025unote -y
🏛️ Governance
List all proposals
symphonyd query gov proposals
View proposal by id
symphonyd query gov proposal 1
Vote 'Yes'
symphonyd tx gov vote 1 yes --from wallet --chain-id symphony-testnet-3 --gas-adjustment 1.5 --gas auto --gas-prices 0.025unote -y
Vote 'No'
symphonyd tx gov vote 1 no --from wallet --chain-id symphony-testnet-3 --gas-adjustment 1.5 --gas auto --gas-prices 0.025unote -y
Vote 'Abstain'
symphonyd tx gov vote 1 abstain --from wallet --chain-id symphony-testnet-3 --gas-adjustment 1.5 --gas auto --gas-prices 0.025unote -y
Vote 'NoWithVeto'
symphonyd tx gov vote 1 NoWithVeto --from wallet --chain-id symphony-testnet-3 --gas-adjustment 1.5 --gas auto --gas-prices 0.025unote -y
⚡️ Utility
Update Indexer
Disable indexer
sed -i -e 's|^indexer *=.*|indexer = "null"|' $HOME/.symphony/config/config.toml
Enable indexer
sed -i -e 's|^indexer *=.*|indexer = "kv"|' $HOME/.symphony/config/config.toml
Update pruning
sed -i \
-e 's|^pruning *=.*|pruning = "custom"|' \
-e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "2000"|' \
-e 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' \
-e 's|^pruning-interval *=.*|pruning-interval = "100"|' \
$HOME/.symphony/config/app.toml
🔧 Maintenance
Get validator info
symphonyd status 2>&1 | jq .ValidatorInfo
Get sync info
symphonyd status 2>&1 | jq .SyncInfo
Enable prometheus
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.symphony/config/config.toml
Reset chain data
symphonyd tendermint unsafe-reset-all --keep-addr-book --home $HOME/.symphony --keep-addr-book
Remove node
☢️
Make sure you have backed up your priv_validator_key.json!
cd $HOME
sudo systemctl stop symphonyd
sudo systemctl disable symphonyd
sudo rm /etc/systemd/system/symphonyd.service
sudo systemctl daemon-reload
rm -f $(which symphonyd)
rm -rf $HOME/.symphony
rm -rf $HOME/symphony
⚙️ Service Management
Reload service configuration
sudo systemctl daemon-reload
Enable service
sudo systemctl enable symphonyd
Disable service
sudo systemctl disable symphonyd
Start service
sudo systemctl start symphonyd
Stop service
sudo systemctl stop symphonyd
Restart service
sudo systemctl restart symphonyd
Check service status
sudo systemctl status symphonyd
Check service logs
sudo journalctl -u symphonyd -f --no-hostname -o cat