Гайды по нодам
February 11, 2024

Установка ноды  NuLink


Требования к ноде

Рекомендованная конфигурация сервера от разработчиков

- 2 CPU

- 4 GB RAM

- 30 GB storage

Минимальная конфигурация сервера от команды G7

- 1 CPU

- 1 GB RAM

- 10 GB storage

Рекомендуемая конфигурация сервера от команды G7

- Dual core CPU

- 4 GB RAM

- 20 GB storage

Порты

9151


Подготовка к установке ноды

Если вы арендуете не VPS, а дедик, либо же устанавливаете на домашнем сервере, то необходимо открыть порты

apt install ufw -y
ufw allow ssh
ufw allow https
ufw allow http
ufw allow 9151
ufw enable

Так же нам необходимо скачать docker. Для этого просто последовательно выполняем команды

sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

1. Установка ноды

1.1 Скачиваем архив с узлом

wget https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.10.23-d901d853.tar.gz

1.2 Распаковываем

tar -xvzf geth-linux-amd64-1.10.23-d901d853.tar.gz

1.3 Заходим в директорию

cd geth-linux-amd64-1.10.23-d901d853/

1.4 Создаем аккаунт, хранилище ключей

./geth account new --keystore ./keystore

Нужно будет придумать и запомнить пароль. Так же нам выдаст наш публичный ключ и путь к папке, в которой будет храниться приватный ключ. Переходим в эту директорию и сохраняем бекап

Пример вывода. Path of the secret key file - дииректория с приватником

1.5 Качаем образ docker

docker pull nulink/nulink:latest

1.6 Переходим в рут директорию и создаем папку

cd /root
mkdir nulink

1.7 Скопируем файл с приватным ключом в нашу папку проекта

cp /root/geth-linux-amd64-1.10.23-d901d853/keystore/* /root/nulink

1.8 Выдадим полные права каталогу

chmod -R 777 /root/nulink

1.9 Придумываем и прописываем пароли от воркера и хранилища

export NULINK_KEYSTORE_PASSWORD=ВАШ_ПАРОЛЬ_ХРАНИЛИЩА
export NULINK_OPERATOR_ETH_PASSWORD=ВАШ_ПАРОЛЬ_ОТ_ВОРКЕРА

1.10 Инициализируем конфигурацию ноды.

Вам необходимо ввести название файла с приватным ключом в строку signer-keystore. Смотрим пункт 4 и копируем все что после UTC—

Из того же четвертого пункта берем адрес воркера и вставляем в operator_address

docker run -it --rm \
-p 9151:9151 \
-v /root/nulink:/code \
-v /root/nulink:/home/circleci/.local/share/nulink \
-e NULINK_KEYSTORE_PASSWORD \
nulink/nulink nulink ursula init \
--signer keystore:///code/UTC--НАЗВАНИЕ_ВАШЕГО_ФАЙЛА_UTC_С_ПРИВАТНИКОМ \
--eth-provider https://bsc-testnet.publicnode.com \
--network horus \
--payment-provider https://bsc-testnet.publicnode.com \
--payment-network bsc_testnet \
--operator-address ВАШ_АДРЕС_ВОРКЕРА_ИЗ_ПУНКТА_4 \
--max-gas-price 10000000000

1.11 Пересылка токенов

Берем тестовые BNB (https://www.bnbchain.org/en/testnet-faucet) и отсылаем 0.1 tBNB на адрес воркера

1.12 Запускаем ноду

docker run --restart on-failure -d \
--name ursula \
-p 9151:9151 \
-v /root/nulink:/code \
-v /root/nulink:/home/circleci/.local/share/nulink \
-e NULINK_KEYSTORE_PASSWORD \
-e NULINK_OPERATOR_ETH_PASSWORD \
nulink/nulink nulink ursula run --no-block-until-ready

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

docker logs -f ursula

Если в логах сыпет ошибки связанные с паролем, то либо переустанавливаем все с начала, либо(что еще надежнее) арендуем другой сервер и накатываем на него

Хорошие логи выглядят так

Первая часть означает что нужно закинуть tBNB на адрес воркера. Дальше он выводит транзакцию в которой мы закидываем монеты, далее перезагружается и говорит что все ОК

2. Подвязка стейк адреса к воркеру

2.1 Переходим в дашборд

Переходим на дашборд https://dashboard.testnet.nulink.org/

2.2 Ставим тестовую сеть BSC

2.3 В вкладке кошелька запрашиваем тестовые токены

2.4 Переходим в вкладку стейкинга и делаем аппрув перевода

2.5 Вписываем количество монет, которые будем стейкать, нажимаем кнопку Stake

2.6 Листаем ниже, находим кнопку BOND WORKER, нажимаем

В данное окно вводим адрес от нашего ВОРКЕРА

Не адрес с которого стейкаем, а именно воркера из пункта 1.4

2.7 Ждем примерно час

Через час наш статус offline поменяется на online

Можете проверить логи, если у вас так, значит, что все хорошо

Полезные команды

Просмотр логов контейнера

docker logs -f ursula

Просмотр последних 50 логов контейнера

docker logs -f ursula --tail 50

Наш телеграмм канал по нодам — https://t.me/g7monitor
Наш чат по нодам — https://t.me/g7team_chat