February 2, 2023

Гайд по установке ноды Nolus

ℹ️ Наш Telegram-канал: https://t.me/pronodes

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

  • 2+ vCPU
  • 4+ GB RAM
  • 120+ GB SSD

Подготовка сервера

sudo apt-get install -y build-essential

1. Устанавливаем Golang

wget https://golang.org/dl/go1.18.2.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.18.2.linux-amd64.tar.gz
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GO111MODULE=on
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile && \
source $HOME/.bash_profile
rm go1.18.2.linux-amd64.tar.gz
go version

2. Устанавливаем Nolus

git clone https://github.com/Nolus-Protocol/nolus-core
cd nolus-core
git checkout v0.1.39
make install

3. Проверяем корректность установки

nolusd version

Если выдало версию, можно начинать настройку ноды.

4. Инициализируем ноду

nolusd init [custom_moniker]

5. Скачиваем генезис файл

wget https://raw.githubusercontent.com/Nolus-Protocol/nolus-networks/main/testnet/nolus-rila/genesis.json
mv ./genesis.json ~/.nolus/config/genesis.json

6. Добавляем пиры в конфиг

PEERS="5c236704215735ea722a3ca742a5161c2e871ec6@nolus-testnet.nodejumper.io:29656,[email protected]:27016,[email protected]:26656,[email protected]:45659,[email protected]:26656,[email protected]:13656,[email protected]:13656,[email protected]:26656,[email protected]:46656,[email protected]:26656,[email protected]:26656,[email protected]:28656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:29886,[email protected]:16656"
sed -i 's|^persistent_peers *=.*|persistent_peers = "'$PEERS'"|' $HOME/.nolus/config/config.toml

7. Настраиваем синхронизацию со StateSync

SNAP_RPC="94.130.142.94:26657"

LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height)
BLOCK_HEIGHT=$((LATEST_HEIGHT - 2000))
TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash)

echo $LATEST_HEIGHT $BLOCK_HEIGHT $TRUST_HASH

PEERS="[email protected]:26656"
sed -i 's|^persistent_peers *=.*|persistent_peers = "'$PEERS'"|' $HOME/.nolus/config/config.toml

sed -i 's|^enable *=.*|enable = true|' $HOME/.nolus/config/config.toml
sed -i 's|^rpc_servers *=.*|rpc_servers = "'$SNAP_RPC,$SNAP_RPC'"|' $HOME/.nolus/config/config.toml
sed -i 's|^trust_height *=.*|trust_height = '$BLOCK_HEIGHT'|' $HOME/.nolus/config/config.toml
sed -i 's|^trust_hash *=.*|trust_hash = "'$TRUST_HASH'"|' $HOME/.nolus/config/config.toml

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

sudo tee /etc/systemd/system/nolus.service  > /dev/null <<EOF
[Unit]
Description=Nolus node 
After=network-online.target
[Service]
User=$USER
ExecStart=$(which nolusd) start
Restart=always
RestartSec=10
LimitNOFILE=10000

[Install]
WantedBy=multi-user.target
EOF

9. Запускаем ноду

sudo -S systemctl daemon-reload
sudo -S systemctl enable nolus
sudo -S systemctl start nolus

10. Проверяем логи, нода должна зацепиться минут за 10

journalctl -fu nolus -o cat

Удаление ноды

rm -rf nolus-core
rm -rf .nolus
rm $(which nolusd)
rm /etc/systemd/system/nolus.service


👾 Наш валидатор - https://stakeme.io/

🔥 New-Ноды под ключ-https://nodesme.io

💬 Чат- https://t.me/+IhRoXgkqO28yNDVi

✅ Twitter (eng) - https://twitter.com/ProNodes_val

✅ Twitter (ru) - https://twitter.com/pro_nodes

✅ Teletype (eng) - https://teletype.in/@stakeme.io

✅ Teletype (ru) - https://teletype.in/@pronodes

✅ Mirror (eng) -https://mirror.xyz/0x58fC64C4d35049dD0Da5a762E325c6B1D9bC9Fa0

✅ Our telegram - https://t.me/pronodes