
Key Management
Add new key
bcnad keys add walletRecover existing key
bcnad keys add wallet --recoverList All key
bcnad keys listDelete key
bcnad keys delete walletExport Key (save to wallet.backup)
bcnad keys export walletImport key
bcnad keys import wallet wallet.backupQuery Wallet Balance
bcnad q bank balances $(bcnad keys show wallet -a)Validator Management
Create Validator
bcnad tx staking create-validator \
--amount "1000000ubcna" \
--pubkey $(bcnad tendermint show-validator) \
--moniker "MONIKER" \
--identity "KEYBASE_ID" \
--details "YOUR DETAILS" \
--website "YOUR WEBSITE" \
--chain-id bitcanna-1 \
--commission-rate "0.05" \
--commission-max-rate "0.20" \
--commission-max-change-rate "0.01" \
--min-self-delegation "1" \
--gas-prices "0ubcna" \
--gas "auto" \
--gas-adjustment "1.5" \
--from wallet \
-y
Edit Validator
bcnad tx staking edit-validator \
--new-moniker="MONIKER" \
--identity="YOUR_KEYBASE_ID" \
--details="YOUR_DETAILS" \
--website="YOUR_WEBSITE_URL" \
--chain-id bitcanna-1 \
--commission-rate=0.05 \
--gas-prices "0ubcna" \
--gas="auto" \
--gas-adjustment="1.5" \
--from wallet \
-yUnjail Validator
bcnad tx slashing unjail --from wallet --chain-id bitcanna-1 --gas-prices "0ubcna" --gas-adjustment 1.5 --gas "auto" -y Signing Info
bcnad query slashing signing-info $(bcnad tendermint show-validator) List all active validators
bcnad 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
bcnad 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
bcnad q staking validator $(bcnad keys show wallet --bech val -a) Token Management
Withdraw rewards from all validators
bcnad tx distribution withdraw-all-rewards --from wallet --chain-id bitcanna-1 --gas-prices "0ubcna" --gas-adjustment 1.5 --gas "auto" -y Withdraw comission and rewards from your validator
bcnad tx distribution withdraw-rewards $(bcnad keys show wallet --bech val -a) --commission --from wallet --chain-id bitcanna-1 --gas-prices "0ubcna" --gas-adjustment 1.5 --gas "auto" -y Delegate to your validator
bcnad tx staking delegate $(bcnad keys show wallet --bech val -a) 1000000ubcna --from wallet --chain-id bitcanna-1 --gas-prices "0ubcna" --gas-adjustment 1.5 --gas "auto" -y Delegate to other
c4ed tx staking delegate TO_VALOPER_ADDRESS 1000000ubcna --from wallet --chain-id bitcanna-1 --gas-prices "0ubcna" --gas-adjustment 1.5 --gas "auto" -y Redelegate your stake to other validators
bcnad tx staking redelegate $(bcnad keys show wallet --bech val -a) TO_VALOPER_ADDRESS 1000000ubcna --from wallet --chain-id bitcanna-1 --gas-prices "0ubcna" --gas-adjustment 1.5 --gas "auto" -y Unbond stake
bcnad tx staking unbond $(bcnad keys show wallet --bech val -a) 1000000ubcna --from wallet --chain-id bitcanna-1 --gas-prices "0ubcna" --gas-adjustment 1.5 --gas "auto" -y Send tokens
bcnad tx bank send wallet TO_WALLET_ADDRESS 1000000ubcna --from wallet --chain-id bitcanna-1 --gas-prices "0ubcna" --gas-adjustment 1.5 --gas "auto" -y Governance
List all proposals
bcnad query gov proposalsVote YES / NO / ABSTAIN / NO_WITH_VETO
bcnad tx gov vote 1 yes --from wallet --chain-id bitcanna-1 --gas-prices "0ubcna" --gas-adjustment 1.5 --gas "auto" -y Create new text proposal
bcnad tx gov submit-proposal \
--title="Title" \
--description="Description" \
--deposit=100000000ubcna \
--type="Text" \
--from=wallet \
--gas-prices 0ubcna\
--gas-adjustment 1.5 \
--gas "auto" \
-y Utility
Set Indexer NULL / KV
sed -i 's|^indexer *=.*|indexer = "null"|' $HOME/.bcna/config/config.tomlSet 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/.bcna/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/.bcna/config/app.tomlGet Validator info
bcnad status 2>&1 | jq .ValidatorInfoGet denom info
bcnad q bank denom-metadata -oj | jqGet sync status
bcnad status 2>&1 | jq .SyncInfo.catching_upGet latest height
bcnad status 2>&1 | jq .SyncInfo.latest_block_heightReset Node
bcnad tendermint unsafe-reset-all --home $HOME/.bcna --keep-addr-bookDelete Node
sudo systemctl stop bcnad && sudo systemctl disable bcnad && sudo rm /etc/systemd/system/bcnad.service && sudo systemctl daemon-reload && rm -rf $HOME/.bcna && sudo rm -rf $(which bcnad) Services Management
# Reload Service
sudo systemctl daemon-reload
# Enable Service
sudo systemctl enable bcnad
# Disable Service
sudo systemctl disable bcnad
# Start Service
sudo systemctl start bcnad
# Stop Service
sudo systemctl stop bcnad
# Restart Service
sudo systemctl restart bcnad
# Check Service Status
sudo systemctl status bcnad
# Check Service Logs
sudo journalctl -u bcnad -f --no-hostname -o catLast updated