Elixir Protocol Node Guide | Гайд по ноде Эликсир
- Официальная документация от Elixir по ноде.
- Видео-гайд: https://youtu.be/5X1M2gp1njM
- Elixir Testnet webpage: https://testnet-3.elixir.xyz/
- Discord Elixir
- Наш телеграм канал - @storiaditimurino
Подготовка кошельков и исходников
Для запуска ноды, нам потребуется 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
В появившемся окне вводим кошелька (А) нашей ноды и жмем 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, а также и Кошелек (В), на котором запущена нода. Пока деталей никаких нет, ждем дальнейших анонсов.