September 12, 2022

HAQQ (IslamicCoin) - Нода для відібраних валідаторів на новий сервер

Якщо ви потрапили у список валідаторів яких відібрали, можна ставити ноду

Вибираємо сервер

Рекомендовані характеристики: 4+ CPU | 32+ ГБ RAM | 500+ ГБ SSD

Починаємо установку

# Задаємо перемінні:
MONIKER="your_name" #Замість "your_name" пишемо свою назву ноди
CHAIN="haqq_54211-2"
WALLET_NAME="your_wallet_name" #Замість "your_wallet_name" пишемо свою назву гаманця
# Зберігаємо перемінні в bash
echo 'export MONIKER='${MONIKER} >> $HOME/.bash_profile
echo 'export CHAIN='${CHAIN} >> $HOME/.bash_profile
echo 'export WALLET_NAME='${WALLET_NAME} >> $HOME/.bash_profile
source $HOME/.bash_profile
# Оновлюємо сервер та встановлюємо необхідні пакети
sudo apt update && sudo apt upgrade -y && \
sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential bsdmainutils git make ncdu gcc git jq chrony liblz4-tool -y
# Встановлюємо Go
wget https://golang.org/dl/go1.18.3.linux-amd64.tar.gz; \
rm -rv /usr/local/go; \
tar -C /usr/local -xzf go1.18.3.linux-amd64.tar.gz && \
rm -v go1.18.3.linux-amd64.tar.gz && \
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> ~/.bash_profile && \
source ~/.bash_profile && \
go version > /dev/null
# Ставимо бінарний файл
cd $HOME && git clone https://github.com/haqq-network/haqq && \
cd haqq && \
git checkout v1.0.3 && \
make install && \
haqqd version --long | head

Очікуваний результат в терміналі

# Ініціюємо свою ноду
haqqd init $MONIKER --chain-id $CHAIN && \
haqqd config chain-id $CHAIN
# Відновлюємо свій гаманець
haqqd keys add $WALLET_NAME --recover

Правою кнопкою вставляємо сюди сід фразу від гаманця, який створювали при подачі в генезис

Після сід фрази задаємо пароль до гаманця, можна той самий що при створенні. Має вийти так

В терміналі переходимо в папку /root/.haqqd/config/ (можна скопіювати та ввести як на скріншоті)

Після цього робимо заміну файлу priv_validator_key.json на той, що ми качали при створенні генезису. Можна його просто перетягнути мишкою і він заміниться

# Видаляємо старий genesis.json та грузимо новий
rm -rf $HOME/.haqqd/config/genesis.json && cd $HOME/.haqqd/config/ && wget https://raw.githubusercontent.com/haqq-network/validators-contest/master/genesis.json
# Перевіряємо свій генезис
sha256sum $HOME/.haqqd/config/genesis.json

# Має видати
# 8c79dda3c8f0b2b9c0f5e770136fd6044ea1a062c9272d17665cb31464a371f7
# Створюємо сервісний файл
sudo tee /etc/systemd/system/haqqd.service > /dev/null <<EOF
[Unit]
Description=Haqq Node
After=network.target

[Service]
User=$USER
Type=simple
ExecStart=$(which haqqd) start
Restart=on-failure
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF
# Додаємо піри
seeds="62bf004201a90ce00df6f69390378c3d90f6dd7e@seed2.testedge2.haqq.network:26656,23a1176c9911eac442d6d1bf15f92eeabb3981d5@seed1.testedge2.haqq.network:26656"
peers="[email protected]:33656,[email protected]:29656,[email protected]:26556,[email protected]:29956,[email protected]:20116,[email protected]:45656,[email protected]:36656,[email protected]:26656,[email protected]:26656,[email protected]:36656,[email protected]:32656"
sed -i -e 's|^seeds *=.*|seeds = "'$seeds'"|; s|^persistent_peers *=.*|persistent_peers = "'$peers'"|' $HOME/.haqqd/config/config.toml
# Запускаємо ноду та дивимось логи
sudo systemctl daemon-reload && \
sudo systemctl enable haqqd && \
sudo systemctl restart haqqd && \
sudo journalctl -u haqqd -f -o cat

Якщо бачимо помилки підключення до пірів, робимо їх заміну командою. Дякую @lesnik13utsa

systemctl stop haqqd
haqqd tendermint unsafe-reset-all --home $HOME/.haqqd

wget -O $HOME/.haqqd/config/addrbook.json "https://raw.githubusercontent.com/lesnikutsa/lesnik_utsa/main/addrbooks/haqq/addrbook.json"

systemctl restart haqqd && journalctl -u haqqd -f -o cat
# Перевірити статус синхронізації
curl localhost:26657/status

# Якщо "catching_up": false, значить нода синхронізована

Тепер все працює, чекаємо завдань для своєї групи тут

Задати питання автору гайду - https://t.me/cryptoportal_nodes_chat