βοΈ Service Commands
Check Logs
Copy sudo journalctl -u titand -f -o cat
Start service
Copy sudo systemctl start titand
Stop service
Copy sudo systemctl stop titand
Restart service
Copy sudo systmctl restart titand
Check status
Copy sudo systemctl status titand
Enable Service
Copy sudo systemctl enable titand
Reload service
Copy sudo systemctl daemon-reload
Disable service
Copy sudo systemctl disable titand
Check synchronization status
Copy while true ; do
local_height = $( oraid status | jq -r .sync_info.latest_block_height )
network_height=$(curl -s https://rpc.titan-testnet.unitynodes.com/status | jq -r '.result.sync_info.latest_block_height')
blocks_left = $(( network_height - local_height ))
echo -e "\033[1;33m[Sync Status]\033[0m \033[1;32mNode Height:\033[0m \033[1;37m$local_height\033[0m | \033[1;32mNetwork Height:\033[0m \033[1;37m$network_height\033[0m | \033[1;32mBlocks Left:\033[0m \033[1;31m$blocks_left\033[0m"
sleep 5
done
If "Block left - 0" - synchronized
Check the latest block of your validator
Copy titand status | jq '.SyncInfo.latest_block_height // .sync_info.latest_block_height'
View the ports used node
Copy ss -tulpn | grep titand
βοΈ Key Command
Create new wallet
Copy titand keys add wallet
Recovery wallet
Copy titand keys add wallet --recover
List all wallet
Delete wallet
Copy titand keys delete wallet
Export wallet
Copy titand keys export wallet
Import wallet
Copy titand keys import wallet wallet.backup
Check wallet balance
Your balance Balance another wallet
Copy titand q bank balances $( titand keys show wallet -a )
Copy titand q bank balances "Any other or your wallet"
βοΈ Validator Commands
Create validator
Copy # Create validator.json file
touch $HOME /.titan/config/validator.json
# Find your pubkey
titand comet show-validator
#Open a validator.json file
nano $HOME /.titan/config/validator.json
#Paste this into the open validator.json file, pre-replacing all values ββthat start with $
{
"pubkey" : {
"@type" : "/cosmos.crypto.ed25519.PubKey" ,
"key" : "+vMHVm134I+Rh4kNqLG/YwvQqDy+YqcZqWtgp7ABUop0="
},
"amount" : "1000000uttnt" ,
"moniker" : "Oliver" ,
"identity" : "" ,
"website" : "" ,
"security" : "" ,
"details" : "Trusted Blockchain validator" ,
"commission-rate" : "0.05" ,
"commission-max-rate" : "0.2" ,
"commission-max-change-rate" : "0.2" ,
"min-self-delegation" : "1"
}
#After entering and changing all values, save the file with the key combination Ctrl + X and press Enter
#Run command create validator
titand tx staking create-validator $HOME /.titan/config/validator.json \
--chain-id titan-test-3 \
--gas-adjustment= "1.5" \
--fees 500uttnt \
--from wallet
You can leave the text after # unchanged - it's a commented hint that won't affect validator creation.
β½ Replace the following values with your own:
WALLET - usually it's 'wallet', or your wallet's name.
MONIKER - any convenient name for your validator, displayed in the explorer.
IDENTITY - validator's avatar, displayed in the explorer. Create a KeyBase ID following the instructions or leave it empty, and it will default to a standard one.
DETAILS - details about your validator, also displayed in the explorer.
Replace all necessary values indicated above with the $ sign to successfully create your validator.
β½ Example:
lavad tx staking create-validator \
Copy {
"pubkey" : {
"@type" : "/cosmos.crypto.ed25519.PubKey" ,
"key" : "+vMHVm134I+Rh4kNqLG/YwvQqDy+YqcZqWtgp7ABUop0="
},
"amount" : "1000000uttnt" ,
"moniker" : "Oliver" ,
"identity" : "" , #if you have your identifier, replace it, or leave it blank
"website" : "" , #if you have your website, replace it, or leave it blank
"security" : "" ,
"details" : "Trusted Blockchain validator" ,
"commission-rate" : "0.05" ,
"commission-max-rate" : "0.2" ,
"commission-max-change-rate" : "0.2" ,
"min-self-delegation" : "1"
}
Update validator information
Copy titand tx staking edit-validator \
--new-moniker "$MONIKER" \
--identity "$KEYBASEID" \
--details "$DESCRIPTION" \
--website "$WEBSITE" \
--security-contact "$MAIL" \
--chain-id titan-test-3 \
--commission-rate 0.05 \
--from wallet \
--gas 350000 -y
Validator details
Copy titand q staking validator $( titand keys show wallet --bech val -a )
Jailing info
Copy titand q staking validator $( titand keys show wallet --bech val -a ) | grep -E "jailed"
If "true" - your validator is jailed // "false" - your validator is not jailed
Jail reason
Copy titand q slashing signing-info $( titand tendermint show-validator )
Unjail command
Copy titand tx slashing unjail \
--chain-id titan-test-3 \
--fees 500uttnt \
--from wallet \ # Or another wallet name
-y
Information about delegation at your validator
Copy titand q staking validator $( titand keys show wallet --bech val -a ) | grep -E "tokens"
Active Validators list
Copy titand q staking validators -oj --limit=2000 | jq '.validators[] | select(.status=="BOND_STATUS_BONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " " + .description.moniker' | sort -gr | nl
Inactive Validator list
Copy titand q staking validators -oj --limit=2000 | 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
Signing Info
Copy titand query slashing signing-info $( titand tendermint show-validator )
βοΈ Tokens Commands
Delegate to yourself
Copy titand tx staking delegate $(titand keys show wallet --bech val -a) 1000000uttnt --chain-id titan-test-3 --from wallet --gas-adjustment 1.4 --gas "auto" --fees 700uttnt -y
Delegate to another validator
Copy titand tx staking delegate <TO_VALOPER_ADDRESS> 1000000uttnt --chain-id titan-test-3 --from wallet --gas-adjustment 1.4 --gas "auto" --fees 700uttnt -y
Redelegate your stake to other validator
Copy titand tx staking redelegate $VALOPER_ADDRESS <TO_VALOPER_ADDRESS> 1000000uttnt --chain-id titan-test-3 --from wallet --gas-adjustment 1.4 --gas "auto" --fees 700uttnt -y
Unbond stake
Copy titand tx staking unbond $(titand keys show $WALLET --bech val -a) 1000000uttnt --chain-id titan-test-3 --from wallet --gas-adjustment 1.4 --gas "auto" --fees 700uttnt -y
Send tokens
Copy titand tx bank send $WALLET_ADDRESS <TO_WALLET_ADDRESS> 1000000uttnt --chain-id titan-test-3 --from wallet --gas-adjustment 1.4 --gas "auto" --fees 700uttnt -y
Check wallet balance
Copy titand q bank balances $( titand keys show wallet -a )
Transaction details
Copy titand query tx HASH_TX
Withdraw all rewards
Copy titand tx distribution withdraw-all-rewards --from $WALLET --chain-id titan-test-3 --gas-adjustment 1.4 --gas "auto" -y
Withdraw rewards and commission from your validator
Copy titand tx distribution withdraw-rewards $VALOPER_ADDRESS --from $WALLET --commission --chain-id titan-test-3 --gas-adjustment 1.4 --gas "auto" -y
βοΈ Governance
List All Proposals
Copy titand query gov proposals
View proposal by ID
Copy titand query gov proposal ID
Vote "YES"
Copy titand tx gov vote PROPOSAL_ID yes --from wallet --chain-id titan-test-3 --gas-adjustment 1.4 --gas "auto" -y
Vote "NO"
Copy titand tx gov vote PROPOSAL_ID no --from wallet --chain-id titan-test-3 --gas-adjustment 1.4 --gas "auto" -y
Vote "NO_WITH_VETO"
Copy titand tx gov vote PROPOSAL_ID no_with_veto --from wallet --chain-id titan-test-3 --gas-adjustment 1.4 --gas "auto" -y
Vote "ABSTAIN"
Copy titand tx gov vote PROPOSAL_ID abstain --from wallet --chain-id titan-test-3 --gas-adjustment 1.4 --gas "auto" -y
Create new text proposal
Copy titand tx gov submit-proposal \
--title= "Title" \ #Change Title
--description = "Description" \
--deposit=1000000uttnt \
--type= "Text" \ #Change text proposal
--from = wallet \ #Change name wallet
--fees 500uttnt
-y
βοΈ Utility
Set Custom Port
Copy
#PORT 36
sed -i.bak -e "s%:1317%:2317%g;
s%:8080%:9080%g;
s%:9090%:10090%g;
s%:9091%:10091%g;
s%:8545%:9545%g;
s%:8546%:9546%g;
s%:6065%:7065%g" $HOME /.titan/config/app.toml
sed -i.bak -e "s%:26658%:36658%g;
s%:26657%:36657%g;
s%:6060%:7060%g;
s%tcp://0.0.0.0:26656%tcp://0.0.0.0:36656%g;
s%:26660%:36660%g" $HOME /.titan/config/config.toml
sed -i.bak -e "s%:26657%:36657%g" $HOME /.titan/config/client.toml
echo ""
sudo systemctl restart titand && sudo journalctl -u titand -f -o cat
Set Indexer
null kv
Copy sed -i 's|^indexer *=.*|indexer = "null"|' $HOME /.titan/config/config.toml
Copy sed -i 's|^indexer *=.*|indexer = "kv"|' $HOME /.titan/config/config.toml
Update Pruning
Copy sed -i.bak -e 's|^pruning *=.*|pruning = "custom"|; s|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|; s|^pruning-keep-every *=.*|pruning-keep-every = "0"|; s|^pruning-interval *=.*|pruning-interval = "17"|' $HOME/.titan/config/app.toml
Reset node
Copy titand tendermint unsafe-reset-all --home $HOME/.titan --keep-addr-book
Get denom info
Copy titand q bank denom-metadata -oj | jq
Get Node Peer
Copy echo $(oraid tendermint show-node-id)'@'$(curl -s ifconfig.me)':'$(cat $HOME/.titan/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')
Update server name
Copy sudo hostnamectl set-hostname server_name
How much SSD use node (currently)
How much RAM use node (currently)
Copy sudo systemctl status titand | grep "Memory:"
How much CPU use node (currently)
Copy ps -C titand -o %cpu --no-headers | awk '{print $1"% CPU"}'
Delete node
Copy sudo systemctl stop titand
sudo systemctl disable titand
sudo rm -rf /etc/systemd/system/titand.service
sudo rm $(which titand)
sudo rm -rf $HOME/.titan