Создание и настройка кластера Obol
Obol Network - протокол, способствующий минимизации доверительных ставок за счет проверки несколькими операторами.
Сайт проекта | Документация проекта | Discord | GitHub
Telegram канал сообщества Starnodes
Награды
За текущий тестнет дадут NFT как подтверждение участия в тестнете, а дальше.... посмотрим :)
Минимальные требования
Аренда сервера
1) Хостинг Hetzner - неплохой хостинг для аренды VPS по соотношению цена-качество, подойдет для большинства нод.
2) Хостинг Starnodes - VPS сервера с большой ёмкостью NVME накопителя. Все сервера расположены в датацентре и работают 24/7.
Описание
Проект собрал 12,5 млн $, текущий за текущий тестнет мы получим нфт, за которые скорее всего мы получим награды или попадем в оплачиваемую фазу.
Мы с вами создадим и настроим кластер для участия в тестовой сети Bia.
Участие в текущей тестовой сети предусматривает командную работу над созданием кластера из группы людей от 4х до 10ти человек.
Команду можно поискать в дискорде проекта: #bia_find-a-cluster
Установка это ноды требует слаженной командной работы, так что наберитесь терпения :)
Есть 3 роли для участия: лидер, валидатор (им будет лидер) и операторы узлов.
Для запуска валидатора требуется 32 ETH в сети Goerli. Участие для операторов будет простым, основным шагом будет регистрация команды лидером и запуск валидатора.
Перед началом всем членам команды нужно заполнить эту форму.
Подготовка сервера
Для начала подготовим сервер и установим нужные пакеты:
sudo apt update sudo apt install htop mc curl tar wget jq bsdmainutils git make ncdu gcc jq chrony net-tools iotop nload clang libpq-dev libssl-dev build-essential pkg-config openssl ocl-icd-opencl-dev libopencl-clang-dev libgomp1 -y
Теперь нужно поставить docker:
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 apparmor -y
docker_compose_version=`wget -qO- https://api.github.com/repos/docker/compose/releases/latest | jq -r ".tag_name"` sudo wget -O /usr/bin/docker-compose "https://github.com/docker/compose/releases/download/${docker_compose_version}/docker-compose-`uname -s`-`uname -m`" sudo chmod +x /usr/bin/docker-compose docker-compose -v
Фаза 1
Данная фаза выполняется операторами и лидером-валидатором.
git clone https://github.com/ObolNetwork/charon-distributed-validator-node.git
chmod o+w charon-distributed-validator-node
Переходим в папку и генерируем приватный ключ:
cd charon-distributed-validator-node docker run --rm -v "$(pwd):/opt/charon" obolnetwork/charon:v0.13.0 create enr
ls $HOME/charon-distributed-validator-node/.charon/charon-enr-private-key
И сохраняем приватный ключ ENR (он понадобится далее):
#Created ENR private key: .charon/charon-enr-private-key #enr:-JGKFDS....................................................
Фаза 2
Данная фаза выполняется лидером.
Нам нужно создать кластер и заплатить 32 эфира за валидатора:
https://bia.launchpad.obol.tech
Далее соглашаемся со всеми условиями.
Теперь выбираем настройки кластера, вводим eth адреса операторов
Выбираем количество валидаторов и их ключи enr (каждый валидатор + 32 эфира, достаточного одного на кластер):
Теперь укажите в первой строке адрес, на котором будет 32 эфира на создание валидатора. Далее распределяем награды по участникам, 2% берет команда Obol, остальное я разделил поровну на 7 человек.
Далее проверяем все данные, жмем на кнопку "Deploy Withdrawal Manager" и "Deploy Splitter Contract.
Остается поставить галочку и нажать "Confirm and Sign"
Теперь передаем полученную ссылку вашим операторам:
Фаза 3
Выполняется всеми участниками для завершения регистрации кластера.
Переходим по полученной ссылке от лидера.
Нужно будет подключить свой метамаск с адресом, который вы предоставляли лидеру кластера, и ввести полученный с сервера ключ в формате: enr:-JGKFDS.....
Когда все завершат регистрацию, нажимаем Continue.
Теперь все участники генерируют ключи в терминале:
cd $HOME/charon-distributed-validator-node
Запускаем команду полученную на прошлом шаге:
Когда все операторы запустят команду, вы получите такой ответ и сгенерируете файлы в каталоге .charon. Обязательно сохраните эту папку к себе на ПК.
Теперь лидер кластера вносит ETH за участие со своего кошелька, остальным этого делать не нужно!
Загружаем deposit-data.json, который лидер сохранял на ПК из папки .charon
Далее соглашаемся со всем и видим, что кластер создан:
Фаза 4
cd $HOME/charon-distributed-validator-node && docker-compose up -d
Проверяем логи (будет много варнов всяких):
cd $HOME/charon-distributed-validator-node && docker-compose logs -f
Контейнеры которые должны быть запущены:
После запуска проверяем ноды в графане:
http://<ваш IP>:3000/d/singlenode/single-charon-node-dashboard?orgId=1&refresh=10s
Когда все работаем видим такую картинку, нода прогружается первые 5-10 минут:
Если какой то пир офлайн в месте где показывается стрелочка, значит кто-то не запустился.
Каждый может узнать как называется пир командой после запуска ноды:
cd $HOME/charon-distributed-validator-node && docker-compose logs | grep peer_name
Ответ будет примерно такой: {"peer_name": "alive-boy"......
Так же если не открывается графана или не происходит синхронизация, то откройте нужные порты.
Нода использует следущие порты (конфликтует с SUI):
tcp 9000 3000 3610 30303 udp 9000 30303 3630
Как все запустились, лидер кластера должен заполнить форму на создание кластера.
Если справились, то большие молодцы, участников пока что немного, тк установка сложная!
@starnodes_ru - наш канал в Telegram с новостями и гайдами по тестнетам.
@starnodes_chat - канал, куда можно обратиться за помощью.