Wallet operations
Create wallet
⚠️ store seed phrase, important during recovering
kyved keys add <YOUR_WALLET_NAME>
Recover wallet
⚠️ store seed phrase, important during recovering
kyved keys add <YOUR_WALLET_NAME> --recover
List of all wallets
Delete wallet
kyved keys delete <YOUR_WALLET_NAME>
Export wallet
⚠️ save to wallet.backup
kyved keys export <YOUR_WALLET_NAME>
Import wallet
kyved keys import <WALLET_NAME> wallet.backup
Check wallet balance
kyved q bank balances $(kyved keys show <YOUR_WALLET_NAME> -a)
Validator operations
Create validator
kyved tx staking create-validator \
--amount=1000000ukyve \
--pubkey=$(kyved tendermint show-validator) \
--moniker="<Your moniker>" \
--identity=<Your identity> \
--details="<Your details>" \
--chain-id=kyve-1 \
--commission-rate=0.05 \
--commission-max-rate=0.20 \
--commission-max-change-rate=0.1 \
--min-self-delegation=1 \
--from=<YOUR_WALLET> \
--gas-prices=0.001ukyve \
--gas-adjustment=1.6 \
--gas=auto \
-y
Edit validator
kyved tx staking edit-validator \
--new-moniker="<Your moniker>" \
--identity=<your identity> \
--details="<Your details>" \
--commission-rate=0.1 \
--from=<YOUR_WALLET> \
--gas-prices=0.001ukyve \
--gas-adjustment=1.6 \
--gas=auto \
-y
Unjail your validator
kyved tx slashing unjail --from <YOUR_WALLET> --gas-prices 0.001ukyve --gas-adjustment 1.6 --gas auto -y
Check blocks info processed by your validator
kyved query slashing signing-info $(kyved tendermint show-validator)
List of active validators
kyved 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 of inactive validators
kyved 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
Info about your validator
kyved q staking validator $(kyved keys show <YOUR_WALLET_NAME> --bech val -a)
Transactions
Get your rewards from all validators
kyved tx distribution withdraw-all-rewards --from <YOUR_WALLET> --gas-prices 0.001ukyve --gas-adjustment 1.6 --gas auto -y
Get rewards and commissions from your validator
kyved tx distribution withdraw-rewards $(kyved keys show <YOUR_WALLET_NAME> --bech val -a) --commission --from <YOUR_WALLET> --gas-prices 0.001ukyve --gas-adjustment 1.6 --gas auto -y
Delegate tokens to your validator
kyved tx staking delegate $(kyved keys show <YOUR_WALLET_NAME> --bech val -a) 1000000ukyve --from <YOUR_WALLET> --gas-prices 0.001ukyve --gas-adjustment 1.6 --gas auto -y
Delegate tokens to validator
kyved tx staking delegate <VALOPER_ADDRESS> 1000000ukyve --from <YOUR_WALLET> --gas-prices 0.001ukyve --gas-adjustment 1.6 --gas auto -y
Redelegate tokens to another validator
kyved tx staking redelegate <SRC_VALOPER_ADDRESS> <TARGET_VALOPER_ADDRESS> 1000000ukyve --from <WALLET> --gas-prices 0.001ukyve --gas-adjustment 1.6 --gas auto -y
Unbound tokens from validator
⚠️ it’s can take a while, ~21 days, depends on network’s parameters
kyved tx staking unbond <VALOPER_ADDRESS> 1000000ukyve --from <YOUR_WALLET> --gas-prices 0.001ukyve --gas-adjustment 1.6 --gas auto -y
Send tokens to another wallet
kyved tx bank send <YOUR_WALLET_ADDRESS> <TARGET_WALLET_ADDRESS> 1000000ukyve --from <YOUR_WALLET_ADDRESS> --gas-prices 0.001ukyve --gas-adjustment 1.6 --gas auto -y
Check info about transaction by hash TX_HASH
kyved query tx <TX_HASH>
Governance
Submit text proposal
kyved tx gov submit-proposal \
--title="<Your Title>" \
--description="<Your Description>" \
--deposit=1000000ukyve \
--type="Text" \
--from=<WALLET_ADDRESS> \
--gas-prices=0.001ukyve \
--gas-adjustment=1.6 \
--gas=auto \
-y
List of all proposals
kyved query gov proposals
Check proposal info by proposal id
kyved query gov proposal <proposal_id>
Deposit proposal by proposal id
kyved tx gov deposit 1 1000000ukyve --from <YOUR_WALLET> --gas-prices 0.001ukyve --gas-adjustment 1.6 --gas auto -y
Vote as, YES
kyved tx gov vote 1 yes --from <YOUR_WALLET> --gas-prices 0.001ukyve --gas-adjustment 1.6 --gas auto -y
Vote as, NO
kyved tx gov vote 1 no --from <YOUR_WALLET> --gas-prices 0.001ukyve --gas-adjustment 1.6 --gas auto -y
Vote as, NO_WITH_VETO
kyved tx gov vote 1 no_with_veto --from <YOUR_WALLET> --gas-prices 0.001ukyve --gas-adjustment 1.6 --gas auto -y
Vote as, ABSTAIN
kyved tx gov vote 1 abstain --from <YOUR_WALLET> --gas-prices 0.001ukyve --gas-adjustment 1.6 --gas auto -y
Utils
Change ports to custom
sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:36658\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:36657\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:7060\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:36656\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":36660\"%" $HOME/.kyve/config/config.toml && \
sed -i.bak -e "s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:10090\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:10091\"%; s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:2317\"%" $HOME/.kyve/config/app.toml && \
sed -i.bak -e "s%^node = \"tcp://localhost:26657\"%node = \"tcp://localhost:36657\"%" $HOME/.kyve/config/client.toml
Turn on indexing
sed -i 's|^indexer *=.*|indexer = "kv"|' $HOME/.kyve/config/config.toml
Turn off indexing
sed -i 's|^indexer *=.*|indexer = "null"|' $HOME/.kyve/config/config.toml
Setup custom prunning
APP_TOML="~/.kyve/config/app.toml"
sed -i 's|^pruning *=.*|pruning = "custom"|' $APP_TOML
sed -i 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' $APP_TOML
sed -i 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' $APP_TOML
sed -i 's|^pruning-interval *=.*|pruning-interval = "10"|' $APP_TOML
Check your peer
echo $(kyved tendermint show-node-id)@$(curl http://ifconfig.me/)$(grep -A 3 "\[p2p\]" ~/.kyve/config/config.toml | egrep -o ":[0-9]+")
Check your RPC
echo -e "\033[0;32m$(grep -A 3 "\[rpc\]" ~/.kyve/config/config.toml | egrep -o ":[0-9]+")\033[0m"
Check information about validator
kyved status 2>&1 | jq .ValidatorInfo
Check synchronisation status (false - synced, true - not synced)
kyved status 2>&1 | jq .SyncInfo.catching_up
Check the latest block
kyved status 2>&1 | jq .SyncInfo.latest_block_height
Reset network
kyved tendermint unsafe-reset-all --home $HOME/.kyve --keep-addr-book
Delete node
sudo systemctl stop kyved && \
sudo systemctl disable kyved && \
sudo rm /etc/systemd/system/kyved.service && \
sudo systemctl daemon-reload && \
rm -rf $HOME/.kyve && \
rm -rf $HOME/kyve
Check IP address of the server
Check network parameters
kyved q staking params
kyved q slashing params
Check validator private key is correct
[[ $(kyved q staking validator $(kyved keys show <YOUR_WALLET> --bech val -a) -oj | jq -r .consensus_pubkey.key) = $(kyved 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"
Search all output transactions by address
kyved q txs --events transfer.sender=<ADDRESS> 2>&1 | jq | grep txhash
Search all input transactions by address
kyved q txs --events transfer.recipient=<ADDRESS> 2>&1 | jq | grep txhash
Service management
Reload services
sudo systemctl daemon-reload
Enable service
sudo systemctl enable kyved
Disable service
sudo systemctl disable kyved
Start service
sudo systemctl start kyved
Stop service
sudo systemctl stop kyved
Restart service
sudo systemctl restart kyved
Check service status
sudo systemctl status kyved
Check service logs
sudo journalctl -u kyved -f -o cat