INSTALL GO
rm -rf $HOME/go
sudo rm -rf /usr/local/go
cd $HOME
curl https://dl.google.com/go/go1.22.4.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf -
cat <<'EOF' >>$HOME/.bash_profile
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GO111MODULE=on
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
EOF
source $HOME/.bash_profile
go version
Download binaries
cd $HOME
rm -rf kiichain
git clone https://github.com/KiiChain/kiichain
cd $HOME/kiichain
git checkout v2.0.0
make install
Config and Init App
kiichaind init test --chain-id oro_1336-1
Download Genesis and Addrbook
curl -L https://files-kiichain.catsmile.space/addrbook.json > $HOME/.kiichain/config/addrbook.json
curl -L https://files-kiichain.catsmile.space/genesis.json > $HOME/.kiichain/config/genesis.json
Custom Ports
sed -i -e "s%:26657%:19657%" $HOME/.kiichain/config/client.toml
sed -i -e "s%:26658%:19658%; s%:26657%:19657%; s%:6060%:19060%; s%:26656%:19656%; s%:26660%:19660%" $HOME/.kiichain/config/config.toml
sed -i -e "s%:1317%:19317%; s%:9090%:19090%" $HOME/.kiichain/config/app.toml
Pruning, Gas and Prometheus
sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"1000000000akii\"/" $HOME/.kiichain/config/app.toml
sed -i 's|^indexer *=.*|indexer = "null"|' $HOME/.kiichain/config/config.toml
Create Service File
sudo tee /etc/systemd/system/kiichaind.service > /dev/null << EOF
[Unit]
Description=kiichain
After=network-online.target
[Service]
User=$USER
ExecStart=$(which kiichaind) start
Restart=always
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
Start
sudo systemctl daemon-reload
sudo systemctl enable kiichaind
sudo systemctl restart kiichaind
sudo journalctl -u kiichaind -f -o cat
Snapshot
sudo systemctl stop kiichaind
cp $HOME/.kiichain/data/priv_validator_state.json $HOME/.kiichain/priv_validator_state.json.backup
kiichaind tendermint unsafe-reset-all --home $HOME/.kiichain --keep-addr-book
curl -L https://files-kiichain.catsmile.space/snapshot_latest.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.kiichain
mv $HOME/.kiichain/priv_validator_state.json.backup $HOME/.kiichain/data/priv_validator_state.json
sudo systemctl restart kiichaind
sudo journalctl -u kiichaind -f -o cat
State Sync
sudo systemctl stop kiichaind
cp $HOME/.kiichain/data/priv_validator_state.json $HOME/.kiichain/priv_validator_state.json.backup
kiichaind tendermint unsafe-reset-all --home $HOME/.kiichain --keep-addr-book
SNAP_RPC="https://rpc.dos.sentry.testnet.v3.kiivalidator.com: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)
sed -i "/\[statesync\]/, /^enable =/ s/=.*/= true/;\
/^rpc_servers =/ s|=.*|= \"$SNAP_RPC,$SNAP_RPC\"|\
/^trust_height =/ s/=.*/= $BLOCK_HEIGHT/;\
/^trust_hash =/ s/=.*/= \"$TRUST_HASH\"/" $HOME/.kiichain/config/config.toml
mv $HOME/.kiichain/priv_validator_state.json.backup $HOME/.kiichain/data/priv_validator_state.json
sudo systemctl restart kiichaind && sudo journalctl -u kiichaind -fo cat
Create and Restore Address
# Create wallet
kiichaind keys add wallet --keyring-backend test --coin-type 118 --key-type secp256k1
# Restore wallet
kiichaind keys add wallet --keyring-backend test --recover --coin-type 118 --key-type secp256k1
# Restore wallet Type EVM
kiichaind keys add walletevm --keyring-backend test --recover --coin-type 60 --key-type eth_secp256k1
# List
kiichaind keys list --keyring-backend test
Check Balance
kiichaind q bank balances $(kiichaind keys show wallet -a)
Create Validator
cd $HOME
# Create validator.json file
echo "{\"pubkey\":{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"$(kiichaind comet show-validator | grep -Po '\"key\":\s*\"\K[^"]*')\"},
\"amount\": \"1000000000000000000akii\",
\"moniker\": \"mynode\",
\"identity\": \"\",
\"website\": \"\",
\"security\": \"\",
\"details\": \"I love Kiichain\",
\"commission-rate\": \"0.05\",
\"commission-max-rate\": \"0.2\",
\"commission-max-change-rate\": \"0.05\",
\"min-self-delegation\": \"1\"
}" > $HOME/.kiichain/validator.json
# Create a validator using the JSON configuration
kiichaind tx staking create-validator $HOME/.kiichain/validator.json \
--from wallet \
--chain-id oro_1336-1 \
--gas-prices=1000000000akii \
--gas-adjustment=1.5 \
--gas=auto
Delete node
sudo systemctl stop kiichaind
sudo systemctl disable kiichaind
sudo rm /etc/systemd/system/kiichaind.service
sudo systemctl daemon-reload
rm -rf $(which kiichaind)
rm -rf .kiichain
rm -rf kiichain