Требования к серверу:
- CPU - в оф доках не указан, я взяла 2
- 4 GB RAM
- Storage - 30 GB
Для начала создадим worker account:
Код:
wget https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.10.23-d901d853.tar.gz
#выкачиваем архив
tar -xvzf geth-linux-amd64-1.10.23-d901d853.tar.gz
#разархивируем его
cd geth-linux-amd64-1.10.23-d901d853/
./geth account new --keystore ./keystore
После этой команды Вам отобразится на экране публичный ключ(далее называем его WALLET) и путь(начинается с /root/geth - далее называем его PATH) к сикрет ключу(в этой строке то, что начинается с UTC.. далее мы называем NAME OF FILE) - ОБЯЗАТЕЛЬНО их сохраняем!
Теперь подготовим сервер к установке ноды:
Код:
sudo apt update
sudo apt install
Устанавливаем докер:
Код:
sudo apt install -y ca-certificates curl gnupg lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt install docker-ce docker-ce-cli containerd.io -y
sudo usermod -aG docker $USER
newgrp docker
docker version
Выкачиваем и одновременно собираем проект:
Код:
docker pull nulink/nulink:latest
cd
mkdir nulink
cp <PATH> /root/nulink
#заменить <PATH> на то, что мы сохраняли выше и называли PATH
chmod -R 777 /root/nulink
Переходим к запуску докера:
Инициализируем переменные
Код:
export NULINK_KEYSTORE_PASSWORD=<YOUR PASSWORD>
#заменить <YOUR PASSWORD> на ваш пароль (вводили когда создавали worker account)
export NULINK_OPERATOR_ETH_PASSWORD=<YOUR PASSWORD>
#заменить <YOUR PASSWORD> на ваш пароль (вводили когда создавали worker account)
Создаем конфиг (копируем одной командой):
Код:
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/<NAME OF FILE> \
--eth-provider https://data-seed-prebsc-2-s2.binance.org:8545 \
--network horus \
--payment-provider https://data-seed-prebsc-2-s2.binance.org:8545 \
--payment-network bsc_testnet \
--operator-address <WALLET> \
--max-gas-price 100
#заменить <NAME OF FILE> на NAME OF FILE(мы это значение выше себе сохраняли)
#заменить <WALLET> на ваш кошелек в воркер аккаунте (сохраняли себе, как WALLET)
ОБЯЗАТЕЛЬНО скопировать сид фразу от кошелька!
Перед тем, как запустить ноду, на кошелек воркера и стейкинг кошелек закиньте тестовые бнб (хотя бы по 0.1-0.2)
Запускаем докер (копируем одной командой):
Код:
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
Правильный вывод подобный такому:
Проверяем работу докер контейнера:
Код:
docker logs -f ursula
Правильный вывод:
Скопируйте себе ссылочку, которая в строке "Rest Server", а также "Operator Address"
Далее мы идем в браузер, заходим в мм с мнемоникой ("сид1"), заходим на
этот сайт и подключаемся кошельком.
Идем в faucet, запрашиваем токены (и бнб, и нлк)
Возвращаемся на главную, стейкаем токены нлк
Теперь находим кнопочку Bond Worker и заполняем поля (worker address=Operator Address, Node URI=Rest Server Https)