Установка ноды Elixir
Elixir — это модульная сеть на основе DPoS (Delegated Proof of Stake), разработанная для обеспечения ликвидности на биржах с книгами ордеров.
Elixir поддерживает кросс-чейн взаимодействие и легко интегрируется: он позволяет децентрализованным биржам с книгами ордеров нативно внедрять Elixir Protocol — децентрализованный протокол — в свою основную инфраструктуру для обеспечения ликвидности для торговых пар, а также других интересных применений. Децентрализованная сеть служит важной базовой инфраструктурой, позволяющей биржам и протоколам легко привлекать ликвидность к своим торговым книгам.
Сайт проекта | Документация проекта | Discord | Twitter
Telegram канал сообщества Starnodes
Награды
Проект собрал
Минимальные требования
Используемые порты:
Аренда сервера:
1) Хостинг Hetzner - неплохой хостинг для аренды VPS по соотношению цена-качество, подойдет для большинства нод.
Подготовка сервера
Для начала подготовим сервер и установим нужные пакеты:
sudo apt update && \ sudo apt install -y curl git build-essential jq lz4 unzip tar mc chrony htop ncdu nload screen
sudo apt install wget jq ca-certificates gnupg -y && \ source /etc/*-release && \ rm -f /usr/share/keyrings/docker-archive-keyring.gpg && \ wget -qO- "https://download.docker.com/linux/${DISTRIB_ID,,}/gpg" | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg && \ echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null && \ sudo apt update && \ sudo apt install docker-ce docker-ce-cli containerd.io -y
Регистрация валидатора
1) Для регистрации валидатора предварительно создайте новый адрес EVM кошелька и экспортируйте приватный ключ.
Для этого установите Metamask и следуйте скриншоту ниже.
https://chromewebstore.google.com/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn?utm_source=metamask.io
2) На другой кошелек получите немного Sepolia ETH на оплату комиссий.
Мы будем стейкать с него токены на адрес нашего валидатора из шага 1.
PS: почти все краны требуют, чтобы на вашем балансе было не менее 0,001 eth mainnet и гугл почту для авторизации.
Я сам запросил токены с гугл ака здесь:
https://cloud.google.com/application/web3/faucet/ethereum/sepolia
3) Теперь сминтите и делегируйте токены MOCK:
Сначала нажимаем на MINT 1000 MOCK вверху:
Дождитесь подтверждения получения токенов "Transaction confirmed".
Теперь апрувните и застейкайте токены MOCK:
Теперь нужно делегировать токены вашему валидатору на кошелек, который мы создали в самом начале в пункте 1:
По итогу должно быть написано: "You have successfully delegated MOCK."
Установка ноды Elixir
На прошлом этапе мы зарегистрировали нашего валидатора.
Теперь установим ноду на сервере.
Создайте рабочий каталог и файл конфигурации в нем:
mkdir ~/.elixir && cd ~/.elixir mcedit validator.env
В конфигурации укажите параметры ниже:
ENV=testnet-3 STRATEGY_EXECUTOR_DISPLAY_NAME=НИКНЕЙМ STRATEGY_EXECUTOR_BENEFICIARY=АДРЕС_ДЛЯ_НАГРАД SIGNER_PRIVATE_KEY=ПРИВАТНИК_ИЗ_ШАГА_1
А теперь запустите ноду командой ниже находясь в каталоге с файлом конфигурации:
docker run -it --env-file ./validator.env --name elixir-node --restart unless-stopped --platform linux/amd64 -p 17690:17690 elixirprotocol/validator:testnet
Правильный лог запуска ноды выглядит так:
Несколько раз нажмите Сtrl + C, чтобы закрыть окно. Нода перезапустится в фоновом режиме автоматически.
Где-то через часик вы можете проверить на тестовом портале, что аптайм вашей ноды растет.
Для этого в поле поиска вставьте адрес вашего валидатора.
Полезные команды:
docker logs -f elixir-node
docker stop elixir-node
docker start elixir-node
Посмотреть статус ноды, ответ должен быть OK
curl 127.0.0.1:17690/health | jq
curl 127.0.0.1:17690/metrics | jq
Обновление ноды
Если потребуется обновить ноду следуйте инструкции ниже.
Останавливаем и удаляем контейнер с нодой:
docker stop elixir-node && \ docker rm elixir-node
docker pull elixirprotocol/validator:testnet --platform linux/amd64
cd ~/.elixir && \ docker run -it --env-file ./validator.env --name elixir-node --restart unless-stopped --platform linux/amd64 -p 17690:17690 elixirprotocol/validator:testnet
После обновления вы должны видеть такие логи:
Запуск или обновление ноды в сети майннет
Если вы ранее ставили ноду тестнета по этому же гайду, то у вас будет работать две ноды одновременно: майннет и тестнет.
Создаем конфигурацию для ноды в майннете, для этого копируем конфигурацию с тестнета и меняем сеть на новую:
cd ~/.elixir && \ cp validator.env prod.env && \ sudo sed -i -e "s/^ENV=testnet-3.*/ENV=prod/" ~/.elixir/prod.env
Проверим, что в конфигурации указана сеть ENV=prod
cat ~/.elixir/prod.env
Если потребуется обновить ноду следуйте инструкции ниже.
Останавливаем и удаляем контейнер с нодой:
docker stop elixir-prod && \ docker rm elixir-prod
docker pull elixirprotocol/validator --platform linux/amd64
cd ~/.elixir && \ docker run -it --env-file ./prod.env --name elixir-prod --restart unless-stopped --platform linux/amd64 -p 17691:17690 elixirprotocol/validator
Через минут 15 можно будет найти себя на сайте в поиске по адресу:
https://www.elixir.xyz/validators
Официальную статью по запуску ноды и текущих заданий можно посмотреть тут:
https://docs.elixir.xyz/running-an-elixir-validator
Если нашли ошибки в работе ноды, баг репорт тут:
https://github.com/ElixirProtocol/testnet-3-issue-tracker/issues
@starnodesxyz - наш канал в Telegram с новостями и гайдами по тестнетам.
@starnodes_chat - канал, куда можно обратиться за помощью.