May 15, 2024

Initia Node Guide | Гайд по ноде Инития

Требования к серверу:

4/16/1000 - рекомендуемые, однако я пока буду использовать меньше

я взяла на хетцнере

Установка

Подготавливаем сервер:

sudo apt-get update -y && sudo apt upgrade -y && sudo apt-get install make build-essential unzip lz4 gcc git jq -y
#устанавливаем го 
sudo rm -rf /usr/local/go

curl -Ls https://go.dev/dl/go1.21.1.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local

eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh)

eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)
NODE_MONIKER="MONIKER"
#заменить MONIKER на имя своей ноды (придумать)

Копируем репозиторий:

git clone https://github.com/initia-labs/initia.git

cd initia

git checkout v0.2.14

make build

cd build

cp ./initiad /usr/local/bin/initiad

cd

initiad version
initiad config set client chain-id initiation-1

initiad config set client keyring-backend test
initiad init "$NODE_MONIKER" --chain-id initiation-1

Генезис файл и адрбук:

curl -Ls https://snapshots.kjnodes.com/initia-testnet/genesis.json > $HOME/.initia/config/genesis.json

curl -Ls https://snapshots.kjnodes.com/initia-testnet/addrbook.json > $HOME/.initia/config/addrbook.json
sed -i -e "s|^seeds *=.*|seeds = \"3f472746f46493309650e5a033076689996c8881@initia-testnet.rpc.kjnodes.com:17959\"|" $HOME/.initia/config/config.toml
sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0.15uinit,0.01uusdc\"|" $HOME/.initia/config/app.toml
PEERS="d953c051e019b0535039c391daebbcf82e5636ed@184.174.34.183:11656,28eae20f229625b325d64f070518bc2f06ad3f45@65.109.127.164:14656,7531f3c9fa3fa7c33e957c3adb54369bc1c5e5e9@10.102.67.47:26656,d25963c3ffabbdac2f88fb37d25c72e2c31c28bd@185.213.25.35:14656,ee68692e08b8767a4ebb1f2fa9dfcfdc56000595@65.108.11.215:14656,3164cbddd9f03a12d1ae38b836124837e1ee6c88@89.117.62.140:26656,b77dcec6637169ea3af0d64e64c4d7dc4bd73eac@38.242.231.186:16656,0f1680fb596c37ebc088e8fcddec3307dd87a282@65.108.42.57:14656,90790104d758ae72b7d765fb79c076bfc5a87604@161.97.79.66:14656,76bca0c142f50e0c3aa62cfa17da80ab0ee482c1@10.0.9.42:26656,4e80185e289f79ec345729941bd9b7d2ac8c483b@65.109.84.244:14656,024b615f6a5e5a03e3a5929be65c06c0e8eaa706@217.76.51.182:17656,259df541baf5e7e19385d4714491127a394c4a12@194.163.172.118:16656,3724b0c1e1acb50d6790adaecffb5cd42d72981b@49.12.219.72:26656,5747f9fa91a76080f6d6f459eb59eb6f0f3e98f0@194.163.168.41:15656"

sed -i 's|^persistent_peers *=.*|persistent_peers = "'$PEERS'"|' $HOME/.initia/config/config.toml

копируем одной командой:

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/.initia/config/app.toml

Создаем сервисный файл:

sudo tee /etc/systemd/system/initiad.service > /dev/null << EOF
[Unit]
Description=Initia Node
After=network-online.target
[Service]
User=$USER
ExecStart=$(which initiad) start
Restart=on-failure
RestartSec=10
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF

Сбрасываем историю блокчейна:

initiad tendermint unsafe-reset-all --home $HOME/.initia --keep-addr-book

Перезапускаем сервисный файл:

sudo systemctl daemon-reload
sudo systemctl enable initiad
sudo systemctl start initiad

Проверяем логи:

sudo journalctl -u initiad -f --no-hostname -o cat

Эксплорер сети тут

Проверка синхронизации:

initiad status 2>&1 | jq -r '.SyncInfo.catching_up // .sync_info.catching_up'

После синхронизации создаем кошелек и валидатора:

initiad keys add wallet
#сохраните данные кошелька

initiad keys add wallet --recover
#если хотите восстановить кошелек

Запрашиваем токены в дискорде, затем выполняем команду (заменить <YOUR_MONIKER_NAME> на свое значение):

initiad tx mstaking create-validator \
--amount=1000000uinit \
--pubkey=$(initiad tendermint show-validator) \
--moniker="<YOUR_MONIKER_NAME>" \
--chain-id=initiation-1 \
--commission-rate=0.10 \
--commission-max-rate=0.20 \
--commission-max-change-rate=0.01 \
--from=wallet \
--gas-prices=0.15uinit \
--gas-adjustment=1.5 \
--gas=auto \
-y 

Заделегировать себе 1 монетку:

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

Обновление

cd

rm -rf initia

git clone https://github.com/initia-labs/initia

cd initia

git checkout v0.2.15

make install

sudo systemctl stop initiad

cd /root/go/bin

cp ./initiad /usr/local/bin/initiad

cd

initiad version

sudo systemctl restart initiad

sudo journalctl -u initiad -f --no-hostname -o cat

Спасибо за внимание! И поздравляю с новой нодой!
@kulikovae