Нода
September 3, 2024

Elixir Protocol Node Guide | Гайд по ноде Эликсир

Полезные ссылки:

Подготовка кошельков и исходников

Для запуска ноды, нам потребуется 2 кошелька. Один (А) с которого будем запускать ноду, а другой (В) с которого будем минтить тестовые токены MOCK и делегировать их в нашу ноду.

Готовим кошелек (А) для ноды:

Создаем новый EVM кошелек и сохраняем его адрес и приватный ключ.

С сайта документации скачиваем файл validator.env

Сохраняем файл к себе на комп. Путь до папки должен быть простым, без пробелов в названии папок, без кирилицы и т.п. Например:

C:\Programs\Elixir-nodes\Node-2

Открываем скаченный validator.env с помощью блокнота и видим, какие данные нам нужно заполнить

IP_ADDRESS= IP адрес вашего VPS сервера[заполните чуть позже]
DISPLAY_NAME= любое имя вашей ноды
BENEFICIARY= адрес кошелька (А), на котором ставим ноду
PRIVATE_KEY= приватный ключ кошелька (А), на котором ставим ноду

После заполнения, получится примерно следующее:

Готовим кошелек (В) для делегации:

Создаем новый EVM кошелек и сохраняем его адрес и приватный ключ. Далее рекомендую работать в Rabby wallet.

Коннектим кошелек на сайт https://testnet-3.elixir.xyz/ после чего у нас сразу добавится сеть Sepolia Testnet

Далее нам нужно воспользоваться любым краном и получить тестовые Sepolia ETH в сумме, желательно, 0,05+ ETH:
- https://cloud.google.com/application/web3/faucet/ethereum/sepolia - предварительно на кошельке должно быть 0,001 ETH в ERC20 (сразу насыпет нужные 0,05+ ETH)
- https://www.sepoliafaucet.io/
- любой другой кран из Гугл-поиска по слову Sepolia faucet.

СПРАВОЧНО: Параметры Sepolia сети
chain ID:  11155111
Network name:  Sepolia
RPC URL:  https://rpc.sepolia.org
Currency symbol:  ETH
Block explorer URL:  https://sepolia.etherscan.io

После получения тестовых Sepolia ETH, на сайте https://testnet-3.elixir.xyz/ минтим 1000 MOCK. При желании, можно минтить MOCK по 1000 штук сколько угодно раз, но смотрите чтобы не потратить весь тестовый ЕТН на газ.

Делаем Approve и затем Stake наших 1000 MOCK

Нажимаем Custom Validator:

В появившемся окне вводим кошелька (А) нашей ноды и жмем Delegate. Ничего страшного, что к созданию ноды мы даже еще не приступали.

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

В соответствии с официальной документацией, требования к ноде следующие:

  • 8 GB of RAM
  • 100+ Mb/s internet
  • 100 GB of free storage (без детализации HDD, SDD, NVME и т.п.)
  • Кол-во ядер CPU не регламентировано, но 4 хватит более чем.

Нода не очень требовательна к ресурсам, поэтому можно пробовать ставить на виртуальных VPS серверах, вместо чуть более дорогих VDS.

Где лучше всего купить сервер?

  • AEZA - виртуальный сервер, локация любая, PARs-3, ubuntu 22.04


В конечном счете, после покупки VPS сервера, мы должны получить IP адрес, логин (как правило root) и пароль. Сразу же заполните IP адрес в файл validator.env, который мы скачали ранее.

После запуска создаем Session, выбираем формат через SSH, вводим выданный нам IP адрес, логин (username), нажимаем ОК и на следующем шаге вводим пароль.

После ввода пароля, рабочая область будет выглядеть следующим образом:

Создаем папку elxnode с помощью команды

mkdir elxnode

Теперь нам нужно перенести ранее скаченный и заполненный файл validator.env с рабочего ПК на удаленный сервер. Открываем Windows консоль, для этого нажимаем WIN+R и пишем cmd

В консоль вставляем команду копирования файла и нажимаем Enter.

scp C:\Programs\Elixir-nodes\Node\validator.env root@94.141.161.217:/root/elxnode/

Нас попросит ввести пароль и подтвердить первичное соединение с сервером написав "yes"

Файл скопируется

а в MobaXterm файл отобразится в папке Elxnode

Устанавливаем Docker, последовательно вводя команды в терминал:

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-get install docker-ce docker-ce-cli containerd.io

Запустится процесс установки Docker. В процессе нас попросят выбрать сервис для перезагрузки, можно выбрать 7 "none of above":

Проверяем, что Docker установился успешно, с помощью команды

docker version

Появится информация об установленной версии Docker, значит все прошло успешно:

Создаем Docker image для Elixir ноды с помощью команды

docker pull elixirprotocol/validator:3.1.0

Запустится процесс установки:

Теперь требуется установить политики для перезагрузки ноды, для этого последовательно пишем команды:

docker run -d \
--env-file /path/to/validator.env \
--name elixir \
--restart unless-stopped
elixirprotocol/validator:3.1.0

Обратите внимание, что путь /path/to/validator.env \ должен содержать путь до файла validator.env на VPS сервере. Т.е. в нашем случае команды будут следующие:

docker run -d \
--env-file /root/elxnode/validator.env \
--name elixir \
--restart unless-stopped
elixirprotocol/validator:3.1.0

После этого увидим примерно следующее:

Запускаем ноду Elixir в Docker с помощью команд. Обратите внимание, что я уже указал свой конечный путь до файла validator.env:

docker run -it \
--env-file /root/elxnode/validator.env \
--name elixir \
elixirprotocol/validator:3.1.0

После этого нода запустится, о и увидите такие, постоянно обновляюшиеся логи:

Проверить состояние ноды можно с помощью команды

sudo docker ps

Увидим ID Docker контейнера, версию ноды, когда нода она была создана, сколько времени активна:

Состояние работы (логи) ноды можно также просмотреть с помощью команды:

sudo docker logs elixir -f

Если видите, что нода работает и логи активно обновляются, значит все в порядке.
Можно полностью закрывать терминал, нода продолжит работать.

Необходимо зайти в Discord Elixir и следить за ветками
#validator-announcements
#node-operators

Возможно в будущем потребуется обновить ноду, о чем будет сообщено.

Команды для обновления ноды (версия валидатора может быть изменена):

docker kill elixir
docker rm elixir
docker pull elixirprotocol/validator:3.1.0

Теперь можно вернуться на сайт Elixir и подключить Кошелек (А), с которого мы делегировали MOCK в нашу ноду. Мы должны увидеть статус что наши средства успешно делегированы, активную кнопку Undelegate, а также область с наградами.

Награды пока не отображаются, их величина не известная. Возможно часть наград увидит Кошелек (А), с которого делалась делегация MOCK, а также и Кошелек (В), на котором запущена нода. Пока деталей никаких нет, ждем дальнейших анонсов.

На этом установка ноды закончена.