September 2

OBOL Techne Credential Program Node Guide Wave 2 | Обол Гайд по ноде (программа техне волна 2)

Требования к серверу:

8 CPU

16 RAM

1 ТB SSD

Я взяла на Hetzner

Важные примечания:

  • для участия необходимо собираться в кластеры (от 4 до 10 человек, оптимальное количество 6-8), поэтому прежде чем устанавливать ноду - соберите себе команду! Так же желающих можно найти в дискорде проекта
  • в каждом кластере есть лидер и его участники - для лидера и участников установка немного отличается, поэтому выбирайте раздел гайда, подходящий Вашей роли
  • понадобится 32 эфира в сети holesky (их можно добыть в кране или купить на ОТС) - только для 1го кошелька, не для всех участников!

Подготовка сервера(выполнять всем):

sudo apt-get update && sudo apt-get upgrade -y
sudo apt install -y git curl wget htop bash-completion xz-utils zip unzip ufw locales net-tools mc jq make gcc gpg build-essential ncdu sysstat

sudo apt-get install screen libpq-dev libssl-dev pkg-config openssl ocl-icd-opencl-dev libopencl-clang-dev libgomp1 -y

sudo apt install apparmor-profiles

Устанавливаем докер и докер компоуз:

sudo apt install -y ca-certificates curl gnupg lsb-release 

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 update && sudo apt install -y docker-ce docker-ce-cli containerd.io

sudo usermod -aG docker $USER

newgrp docker
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

Выкачиваем репозиторий проекта и создаем ENR ключ:

git clone https://github.com/ObolNetwork/charon-distributed-validator-node.git
cd charon-distributed-validator-node
#переходим в директорию

mkdir .charon 
#создаем директорию

chmod a=rwx /root/charon-distributed-validator-node/.charon
#добавляем пермиссии 

docker run --rm -v "$(pwd):/opt/charon" obolnetwork/charon:v1.1.1 create enr
#вывод команды ниже на скрине

СКРИН ВЫВОДА

Сохраняем себе на комп файл .charon/charon-enr-private-key, а так же где-то себе записываем enr:-... до конца (понадобится ниже)

Создание кластера (только роль лидера):

  • Собираем кошельки всех участников
  • Переходим по этой ссылке, конектим кошелек метамаска к сайту и нажимаем "create a cluster with a group"
  • соглашаемся со всеми пунктами далее
  • заполняем все поля

Далее перейдите к пункту запуск церемонии (для всех)

Заполнение информации (только роль оператора):

Переходим по ссылке, которую Вам выслал капитан кластера и заполняем данные (поле enr key - это вывод последней команды в терминале). После заполнения данных вы увидите такой экран:

Ждем, пока подключатся все участники!

Запуск церемонии(для всех):

Вас перенаправит на вот такую страницу:

Копируем предложенную команду и идем на сервер

cd charon-distributed-validator-node

Далее вставляем команду из браузера

В процессе вы будете видеть сколько участников уже подключились:

Такие логи, означают, что подключена Ваша нода и еще две, ждем выполнения команды (подключения всех участников)

Только когда все подключатся, запускаем ноду:

rm -r ./data/lighthouse
#удаление данных лайтхауса, если они есть

cd charon-distributed-validator-node

cp .env.sample .env

docker-compose up -d

docker-compose logs -f
#просмотр логов

Grafana:

http://localhost:3000/d/d6qujIJVk/charon-overview?orgId=1&refresh=1m
замените "localhost" на свой айпи

Бекап ноды:

Сохраните себе все файлы и папку, которые находятся в папке .charon (она находится в папке charon-distributed-validator-node)

Последний шаг (только для лидера кластера!)

Когда все ноды будут работать, нужно файл deposit_data.json из папки .charon скачать на комп и загрузить в браузере, где вы создавали кластер:

Спасибо за внимание! И поздравляю с новой нодой!
@kulikovae
YOUTUBE