May 15

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="[email protected]:11656,[email protected]:14656,[email protected]:26656,[email protected]:14656,[email protected]:14656,[email protected]:26656,[email protected]:16656,[email protected]:14656,[email protected]:14656,[email protected]:26656,[email protected]:14656,[email protected]:17656,[email protected]:16656,[email protected]:26656,[email protected]: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