RPC Endpoint
URL: https://rpc.initia.stakeup.tech/
Description: This endpoint is used for connecting to the Initia blockchain network via RPC (Remote Procedure Call).
API Endpoint
URL: https://api.initia.stakeup.tech/
Description: This endpoint provides access to the REST API for interacting with the Initia blockchain network.
GRPC Endpoint
URL: grpc.initia.stakeup.tech:443
Description: This endpoint is used for connecting to the Initia blockchain network via gRPC (Google Remote Procedure Call).
Stop the service and reset the data
sudo systemctl stop initiad && \
initiad tendermint unsafe-reset-all --home /root/.initia --keep-addr-book
Configure state sync information
peers="6ccbd12710c67de8642cf1a7f545537b6e3e5e66@rpc.initia.stakeup.tech:13756" && \
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" ~/.initia/config/config.toml && \
SNAP_RPC="https://rpc.initia.stakeup.tech:443" && \
LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height); \
BLOCK_HEIGHT=$((LATEST_HEIGHT - 1000)); \
TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash) && \
echo $LATEST_HEIGHT $BLOCK_HEIGHT $TRUST_HASH && \
sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \
s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$SNAP_RPC,$SNAP_RPC\"| ; \
s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \
s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"| ; \
s|^(seeds[[:space:]]+=[[:space:]]+).*$|\1\"\"|" $HOME/.initia/config/config.toml
Restart the service and check the log
sudo systemctl restart initiad && journalctl -u initiad -f -o cat
Install lz4 if needed
sudo apt install lz4
Stop initia service
sudo systemctl stop initiad.service
Backup priv_validator_state.json
cp $HOME/.initia/data/priv_validator_state.json $HOME/priv_validator_state.json
Remove old data in directory ~/.initia/data
rm -rf ~/.initia/data
Download snapshot
wget https://snapshots.stakeup.tech/initia/initiation-1_latest.tar.lz4
lz4 -d -c initiation-1_latest.tar.lz4 | tar -xf - -C $HOME/.initia
Return your priv_validator_state.json
mv $HOME/priv_validator_state.json $HOME/.initia/data/priv_validator_state.json
Download addrbook
wget -O $HOME/.initia/config/addrbook.json "https://snapshots.stakeup.tech/initia/addrbook.json"
Start service and check logs
sudo systemctl restart initiad && journalctl -u initiad -f -o cat
Peers:
PEERS=b354f200f261f2c17aed173153b2424e7d074f4b@89.116.25.97:27656,c5d1565f8ebbe3377f9195f03966da54ce3faaf5@194.163.158.180:26656,90c29d8fd87e4af12eb1ee9150639a4f0bf2bf74@143.198.222.18:26656,ff201aa17a385f3b99dac127115bd198d9074a0f@62.171.150.244:26656,6fd37b1584196add62b6c0e2385cbd3ab4c29bb0@31.220.79.42:26656,15a3f03cb17249d212bfe93f7cde064a8941f524@38.242.229.255:14656,eaccff99569bbf63456775534cc0f54f52c889bc@158.220.98.217:26656,248e89265f4c7f50dbace38aa9c50e0a3a382d69@158.220.84.140:27656,1e07b92a4c3bc1d66c2257a3b2378f80a7bdc1a2@135.181.239.149:26656,dc642c2fd43ddaf0c57516ebc0e69331f58aa1d5@84.247.175.26:14656,9f9765c7baaf1228626f9917f38280da475d9dd5@135.125.163.118:26666,f4747f087a222d4aff8a37bcc00083d0a32ef5ea@158.220.109.212:15656,15b58b7a3911eb87b078ae423a16e7f2c2bdbd52@82.208.20.121:11656,8dcf17e73dfd10d2401b5b7ea38ecdbb367d0146@31.220.88.123:26656,9c5ed62d112f6efdb68fe02b2bb487e3635932ea@109.199.118.149:14656,713c685a25c1c33ea5add801063e40b73fc25b79@45.85.146.67:14656,3abea9cfc98e7502877ea5a4b7a5068b7128b9d4@38.242.143.1:26656,1a05c2203f3eb223d17d1149ac91351876145334@158.220.96.185:26656,df9a367a2389836d405d4a3fc8d51c3502476b58@158.220.127.13:15656,cd69bcb00a6ecc1ba2b4a3465de4d4dd3e0a3db1@65.108.231.124:52656,67b58592de11a6885d71d3ea436dc284b816caa3@178.63.18.157:51656,b41b9b0b398059bd483123043fafd1e311f05cbe@65.21.197.228:25756,548e26b95b895efc964b08a6b2e991c6d5a6791d@142.132.151.35:15674,17b0fb616bae3fc2e6babf717e2ec132353142db@51.195.88.136:15674,6a6d164766341e4e4f56d0359f130a757f21851a@95.217.148.179:29656,5c2a752c9b1952dbed075c56c600c3a79b58c395@46.4.25.224:26686
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" ~/.initia/config/config.toml
Seed:
SEED=6b0ffcce9b59b91ceb8eea5d4599e27707e3604a@seeds.stakeup.tech:10218
sed -i.bak -e "s/^seeds =.*/seeds = \"$SEED\"/" ~/.initia/config/config.toml
Addrbook:
wget -O $HOME/.initia/config/addrbook.json https://snapshots.stakeup.tech/initia/addrbook.json
Download binary
cd $HOME
rm -rf slinky
git clone https://github.com/skip-mev/slinky.git
cd slinky
git checkout v0.4.3
make install
Create service file
sudo tee /etc/systemd/system/slinky.service > /dev/null <<EOF
[Unit]
Description=Initia Slinky Oracle
After=network-online.target
[Service]
User=$USER
WorkingDirectory=$HOME/slinky
ExecStart=$(which slinky) --oracle-config-path $HOME/slinky/config/core/oracle.json --market-map-endpoint 0.0.0.0:9090
Restart=on-failure
RestartSec=5
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
Enable and start service
sudo systemctl daemon-reload
sudo systemctl enable slinky
sudo systemctl start slinky
Add new wallet
initiad keys add wallet
Recover wallet
initiad keys add wallet --recover
List all wallet
initiad keys list
Delete wallet
initiad keys delete wallet
Export wallet as file
initiad keys export wallet
Import wallet from a file
initiad keys import wallet wallet.backup
Wallet balances
initiad q bank balances $(initiad keys show wallet -a)
Validator operations
New validator
initiad tx mstaking create-validator \
--amount 1000000uinit \
--pubkey $(initiad tendermint show-validator) \
--moniker "YOUR_MONIKER" \
--identity "YOUR_KEYBASE \
--details "YOUR_DETAILS" \
--website "YOUR_WEBSITE" \
--chain-id initiation-1 \
--commission-rate 0.05 \
--commission-max-rate 0.20 \
--commission-max-change-rate 0.05 \
--from wallet \
--gas-adjustment 1.4 \
--gas auto \
--gas-prices 0.15uinit \
-y
Edit validator
initiad tx mstaking edit-validator \
--new-moniker "NEW_MONIKER" \
--identity "YOUR_KEYBASE" \
--details "YOUR_DETAILS" \
--website "YOUR_WEBSITE" \
--chain-id initiation-1 \
--commission-rate 0.05 \
--from wallet \
--gas-adjustment 1.4 \
--gas auto \
--gas-prices 0.15uinit \
-y
Unjail validator
initiad tx slashing unjail --from wallet --chain-id initiation-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.15uinit -y
Reason a jail
initiad query slashing signing-info $(initiad tendermint show-validator)
List all active validators
initiad q mstaking 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
initiad q mstaking 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
Validator details
initiad q mstaking validator $(initiad keys show wallet --bech val -a)
Token operations
Withdraw-all-rewards from validators
initiad tx distribution withdraw-all-rewards --from wallet --chain-id initiation-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.15uinit -y
Withdrawal comission and reward from validator
initiad tx distribution withdraw-rewards $(initiad keys show wallet --bech val -a) --commission --from wallet --chain-id initiation-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.15uinit -y
Delegate to self validator
initiad tx mstaking delegate $(initiad keys show wallet --bech val -a) 1000000uinit --from wallet --chain-id initiation-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.15uinit -y
Delegate to validator
initiad tx mstaking delegate 1000000uinit --from wallet --chain-id initiation-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.15uinit -y
Redelegate to other validator
initiad tx mstaking redelegate $(initiad keys show wallet --bech val -a) 1000000uinit --from wallet --chain-id initiation-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.15uinit -y
Unbond from self validator
initiad tx mstaking unbond $(initiad keys show wallet --bech val -a) 1000000uinit --from wallet --chain-id initiation-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.15uinit -y
Trasfer tokens
initiad tx bank send wallet 1000000uinit --from wallet --chain-id initiation-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.15uinit -y
Governance
List all proposals
initiad query gov proposals
Details for proposal
initiad query gov proposal 1
Vote yes for proposal
initiad tx gov vote 1 yes --from wallet --chain-id initiation-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.15uinit -y
Vote no for proposal
initiad tx gov vote 1 no --from wallet --chain-id initiation-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.15uinit -y
Vote abstain for proposal
initiad tx gov vote 1 abstain --from wallet --chain-id initiation-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.15uinit -y
Vote veto for proposal
initiad tx gov vote 1 NoWithVeto --from wallet --chain-id initiation-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.15uinit -y
Node operations
Validator info
initiad status 2>&1 | jq .ValidatorInfo
Sync info
initiad status 2>&1 | jq .SyncInfo
Node peer
echo $(initiad tendermint show-node-id)'@'$(curl -s ifconfig.me)':'$(cat $HOME/.initia/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')
Check corect privkey validator
[[ $(initiad q mstaking validator $(initiad keys show wallet --bech val -a) -oj | jq -r .consensus_pubkey.key) = $(initiad 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)}'
Reset database
initiad tendermint unsafe-reset-all --keep-addr-book --home $HOME/.initia --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 initiad.service
sudo systemctl disable initiad.service
sudo rm /etc/systemd/system/initiad.service
sudo systemctl daemon-reload
rm -f $(which initiad)
rm -rf $HOME/.initia
rm -rf $HOME/initia
Service operations
Reload all services
sudo systemctl daemon-reload
Enable service
sudo systemctl enable initiad.service
Disable service
sudo systemctl disable initiad.service
Start service
sudo systemctl start initiad.service
Stop service
sudo systemctl stop initiad.service
Restart Service
sudo systemctl restart initiad.service
Check service status
sudo systemctl status initiad.service
Check service logs
sudo journalctl -u initiad.service -f --no-hostname -o cat