Loading...

Key management

Add new key
injectived keys add your-wallet
Recover existing key
injectived keys add your-wallet --recover
List all keys
injectived keys list
Delete key
injectived keys delete your-wallet
Export key to a file
injectived keys export your-wallet
Import key from a file
injectived keys import your-wallet your-wallet.backup
Query your-wallet balance
injectived q bank balances $(injectived keys show your-wallet -a)

Validator management

Create new validator
injectived tx staking create-validator \
--amount 1000000inj \
--pubkey $(injectived tendermint show-validator) \
--moniker "YOUR_MONIKER_NAME" \
--identity "YOUR_KEYBASE_ID" \
--details "YOUR_DETAILS" \
--website "YOUR_WEBSITE_URL" \
--chain-id injective-1 \
--commission-rate 0.05 \
--commission-max-rate 0.20 \
--commission-max-change-rate 0.05 \
--min-self-delegation 1 \
--from your-wallet \
--gas-adjustment 1.4 \
--gas auto \
--gas-prices 160000000inj \
-y
Edit existing validator
injectived tx staking edit-validator \
--new-moniker "YOUR_MONIKER_NAME" \
--identity "YOUR_KEYBASE_ID" \
--details "YOUR_DETAILS" \
--website "YOUR_WEBSITE_URL" \
--chain-id injective-1 \
--commission-rate 0.05 \
--from your-wallet \
--gas-adjustment 1.4 \
--gas auto \
--gas-prices 160000000inj \
-y
Unjail validator
injectived tx slashing unjail --from your-wallet --chain-id injective-1 --gas-adjustment 1.4 --gas auto --gas-prices 160000000inj -y
Jail reason
injectived query slashing signing-info $(injectived tendermint show-validator)
List all active validators
injectived 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
injectived 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
injectived q staking validator $(injectived keys show your-wallet --bech val -a)

Token management

Withdraw rewards from all validators
injectived tx distribution withdraw-all-rewards --from your-wallet --chain-id injectived --gas-adjustment 1.4 --gas auto --gas-prices 160000000inj -y
Withdraw commission and rewards from your validator
injectived tx distribution withdraw-rewards $(injectived keys show your-wallet --bech val -a) --commission --from your-wallet --chain-id injectived --gas-adjustment 1.4 --gas auto --gas-prices 160000000inj -y
Delegate tokens to yourself
injectived tx staking delegate $(injectived keys show your-wallet --bech val -a) 1000000uom --from your-wallet --chain-id injectived --gas-adjustment 1.4 --gas auto --gas-prices 160000000inj -y
Delegate tokens to validator
injectived tx staking delegate  1000000uom --from your-wallet --chain-id injectived --gas-adjustment 1.4 --gas auto --gas-prices 160000000inj -y
Redelegate tokens to another validator
injectived tx staking redelegate $(injectived keys show your-wallet --bech val -a)  1000000uom --from your-wallet --chain-id injectived --gas-adjustment 1.4 --gas auto --gas-prices 160000000inj -y
Unbond tokens from your validator
injectived tx staking unbond $(injectived keys show your-wallet --bech val -a) 1000000uom --from your-wallet --chain-id injectived --gas-adjustment 1.4 --gas auto --gas-prices 160000000inj -y
Send tokens to the your-wallet
injectived tx bank send your-wallet  1000000uom --from your-wallet --chain-id injectived --gas-adjustment 1.4 --gas auto --gas-prices 160000000inj -y

Governance

List all proposals
injectived query gov proposals
View proposal by id
injectived query gov proposal 1
Vote ‘Yes’
injectived tx gov vote 1 yes --from your-wallet --chain-id injective-1 --gas-adjustment 1.4 --gas auto --gas-prices 160000000inj -y
Vote ‘No’
injectived tx gov vote 1 no --from your-wallet --chain-id injective-1 --gas-adjustment 1.4 --gas auto --gas-prices 160000000inj -y
Vote ‘Abstain’
injectived tx gov vote 1 abstain --from your-wallet --chain-id injective-1 --gas-adjustment 1.4 --gas auto --gas-prices 160000000inj -y
Vote ‘NoWithVeto’
injectived tx gov vote 1 NoWithVeto --from your-wallet --chain-id injective-1 --gas-adjustment 1.4 --gas auto --gas-prices 160000000inj -y

Utility

Update ports CUSTOM_PORT=110
sed -i -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${CUSTOM_PORT}58\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${CUSTOM_PORT}57\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:${CUSTOM_PORT}60\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${CUSTOM_PORT}56\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":${CUSTOM_PORT}66\"%" $HOME/.injectived/config/config.toml
sed -i -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:${CUSTOM_PORT}17\"%; s%^address = \":8080\"%address = \":${CUSTOM_PORT}80\"%; s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:${CUSTOM_PORT}90\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:${CUSTOM_PORT}91\"%" $HOME/.injectived/config/app.toml

Update Indexer

Disable indexer
sed -i -e 's|^indexer *=.*|indexer = "null"|' $HOME/.injectived/config/config.toml
Enable indexer
sed -i -e 's|^indexer *=.*|indexer = "kv"|' $HOME/.injectived/config/config.toml
Update pruning
sed -i \
  -e 's|^pruning *=.*|pruning = "custom"|' \
  -e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' \
  -e 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' \
  -e 's|^pruning-interval *=.*|pruning-interval = "19"|' \
  $HOME/.injectived/config/app.toml

Maintenance

Get validator info
injectived status 2>&1 | jq .ValidatorInfo
Get sync info
injectived status 2>&1 | jq .SyncInfo
Get node peer
echo $(injectived tendermint show-node-id)'@'$(curl -s ifconfig.me)':'$(cat $HOME/.injectived/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')
Check if validator key is correct
[[ $(injectived q staking validator $(injectived keys show your-wallet --bech val -a) -oj | jq -r .consensus_pubkey.key) = $(injectived 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"
Get live peers
curl -sS http://localhost:26657/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}'
Set minimum gas price
sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"160000000inj\"/" $HOME/.injectived/config/app.toml
Enable prometheus
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.injectived/config/config.toml
Reset chain data
injectived tendermint unsafe-reset-all --home $HOME/.injectived --keep-addr-book
Remove node
Please, before proceeding with the next step! All chain data will be lost! Make sure you have backed up your priv_validator_key.json
cd $HOME
sudo systemctl stop injectived
sudo systemctl disable injectived
sudo rm /etc/systemd/system/injectived.service
sudo systemctl daemon-reload
rm -f $(which injectived)
rm -rf $HOME/.injectived

Service Management

Reload service configuration
sudo systemctl daemon-reload
Enable service
sudo systemctl enable injectived
Disable service
sudo systemctl disable injectived
Start service
sudo systemctl start injectived
Stop service
sudo systemctl stop injectived
Restart service
sudo systemctl restart injectived
Check service status
sudo systemctl status injectived
Check service logs
sudo journalctl -u injectived -f