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,5c2a752c9b1952dbed075c56c600c3a79b58c395@195.3.220.135:27016,c6e7b095d965209c8d15086c2a173627fb9b29e1@161.97.169.22:26656,e0aac09f3de68abf583b0e3994228ee8bd19d1eb@168.119.124.130:45659,9cafdff7858f3925007e4fa1e7ac3b591a0bd045@45.130.104.142:26656,58d7fc67e12548f3f1ddda3bbe6000ae3d9d638c@85.10.198.169:13656,bab17bf921c3bc6882dc0d37ed1ec9da9135a84c@109.123.236.225:13656,c7f6c0ca34fd69f41e8c7b0ee4d0e18e17a03d5c@185.250.149.121:26656,896c70ce52e6c88313048c9a63fcb9e7f0277144@178.208.86.44:46656,9e115998aa7265e433532366cfd05ad9af523458@38.242.201.87:26656,e84c51a539d705787644e235faab6bccd4b73bdd@5.61.33.18:26656,33f4b7f56b6708526f0638162f020394de0ce5e9@65.21.229.33:28656,df5a117c4e2f5d047b57552d71d45e8ea4a30f2c@185.239.209.135:26656,98f1c8de34db535585bfa390151b1d2ab323dc31@167.86.99.207:26656,038eef443b6bab9c28f9109599cd8733b3eb8dff@65.21.185.92:26656,d31acf73c9b1ecf3e7ed78ab2819c3ab40850db0@135.181.116.109:29886,67be97f5ef69a4f149fbef7970ba888e5b2c2cff@65.108.231.124: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="5bd7453b792b0b1fc99900e91de0bad7afe04707@94.130.142.94: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