February 4, 2023

OBOL DVT: BIA Testnet (Регистрация Кластера).

OBOL DVT — это технологический примитив, который позволяет запускать валидатора Ethereum PoS на нескольких серверах. Это позволяет кластеру узлов, управляемых отдельным лицом, группой или сообществом операторов, действовать вместе как единый валидатор. Запуск валидатора в виде кластера узлов повышает его отказоустойчивость и значительно снижает риск взлома. Это делает работу более безопасной и доступной для всех валидаторов.

30 января 2023, Obol Network запустила регистрацию на две программы: тестовая сеть Bia и программа амбассадоров Obol.

Сегодня мы поговорим о настройке и запуске тестовой сети Bia.

Оригинальная инструкция

Рекомендуемые требования сервера:

4core CPU / 16Gb RAM / 1000 Gb SSD (or NVME)

Регистрация в тестнете - форма

Поиск команды для создания \ вступления в кластер:

канал #bia_find-a-cluster в дискорде проекта.

I. ПОДГОТОВКА СЕРВЕРА

Обновляем сервер

sudo apt update && sudo apt upgrade -y

Устанавливаем дополнительные пакеты

sudo apt install make clang pkg-config libssl-dev build-essential git gcc chrony curl jq ncdu htop net-tools lsof fail2ban wget -y

Устанавливаем docker и docker-compose готовым скриптом или с официального сайта

. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/installers/docker.sh)

Копируем дистрибутив проекта на сервер

git clone https://github.com/ObolNetwork/charon-distributed-validator-node.git

Необходимо предоставить права charon, иначе полезут ошибки

chmod o+w charon-distributed-validator-node

Переходим в папку проекта

cd charon-distributed-validator-node

Создаем и сохраняем приватный ключ ENR (понадобиться для активации лидера или оператора кластера).

docker run --rm -v "$(pwd):/opt/charon" obolnetwork/charon:v0.13.0 create enr

Вывод выглядит так:

Created ENR private key: .charon/charon-enr-private-key enr:-AEFGDFHGMjndtyjnfbntuyFUAbY1UyGNtNcrVMip83cvJRhw1brMslPeyELIz3q6dsZ7GblVaCjL_8FKQhF6Syg-O_kIWztimGAYHY5EvPgmlkgnY0gmlwhH8AAAGJc2VjcDI1NmsxoQKzMe_GFPpSqtnYl-mJr8uZAUtmkqccsAx7ojGmFy-FY4N0Y3CCDhqurteditbr

Не забываем сделать бекап ключа на локальный компьютер.

NOTE: в докере версии 23, иногда может вылазить ошибка Error response from daemon: AppArmor enabled on system but the docker-default profile could not be loaded

Лечиться следующей командой, и дальнейшим перезапуском докера

sudo apt install apparmor-profiles 
sudo service apparmor restart  
sudo service docker restart

ВЫБИРАЕМ РОЛЬ В КЛАСТЕРЕ

ЛИДЕР КЛАСТЕРА

Шаг 1. Смотрим видео, выполняем все действия по инструкции. Собираем адреса операторов.

Ссылку на вступление в кластер необходимо разослать всем участникам.

ОПЕРАТОР КЛАСТЕРА

Шаг 2. Смотрим видео, выполняем все действия по инструкции (если не сделали этого выше - генерация ENR)

Оператору необходимо перейти по ссылке, предоставленной лидером и подключить кошелёк указанный при регистрации.

ЦЕРЕМОНИЯ DKG

Шаг 3. После того как все операторы подтвердят участие появится строчка для прохождения DKG

Участникам необходимо согласовать все действия и запускать вместе команды.

Скопировать код OPTION 1 и запустить на сервере из папки ~/charon-distributed-validator-node

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

deposit-data.json

cluster-lock.json

validator_keys/ (папка с ключом валидатора )

После процедуры DKG лидер активирует валидатора заплатив 32 Goerly ETH за каждого валидатора.

Далее запускаем ноду командой docker-compose up -d из папки ~/charon-distributed-validator-node

Видео для примера

Мониторинг нод - http://your_node_ip:3000/d/singlenode/

Шаг 4. После успешного запуска и прохождения церемонии DKG, лидеру необходимо заполнить форму регистрации кластера.

ЗАПУСК НОДЫ

Для запуска ноды используем следующие команды:

rm -r ./data/lighthouse
cd $HOME/charon-distributed-validator-node && docker-compose up -d

По завершению установки проверяем логи

cd $HOME/charon-distributed-validator-node && docker-compose logs -f

Множество ошибок - это нормально, главное чтобы логи шли. Проверяем работоспособность ноды в Grafana Monitoring

http://<ваш IP>:3000/d/singlenode/single-charon-node-dashboard?orgId=1&refresh=10s

Если вы видите дашборд, как на скриншоте ниже, то все хорошо, нода работает и синхронизируется.