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