Ноды (гайды)
November 29, 2023

Установка ноды EigenLayer

О проекте

EigenDA - сервис для обеспечения доступности данных (DA), построенный на Ethereum с использованием механизма перераспределения стейков через EigenLayer.

Данный сервис обеспечивает горизонтальное масштабирование, позволяя увеличивать пропускную способность с увеличением числа операторов в сети. Дизайн системы включает разделение DA и консенсуса, кодирование данных и прямую передачу данных вместо P2P.

Подготовка сервера

Официальные требования:
CPU: 16 core
32 GB RAM 3.6 TB (минимум)

Но требования завышены, в реальности, конечно же требуется поменьше.

Обновляем все библиотеки:

sudo apt-get update && sudo apt-get upgrade -y

Первым делом проверяем свою версию docker:

docker --version

Если его нет, то ставим:

sudo apt install docker.io
docker --version
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
docker-compose --version

Затем проверяем версию GO, если нет, то ставим:

wget https://golang.org/dl/go1.21.4.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.21.4.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
go version

Подготовка к установке ноды

Далее переходим к скачиванию CLI, но перед этим нужно узнать какой процессор, для этого вводим команду:

lscpu

И смотрим сюда:

В зависимости от процессора скачиваем.

Linux/amd64:

curl -L https://github.com/NethermindEth/eigenlayer/releases/download/v0.4.3/eigenlayer-linux-amd64 --output eigenlayer
chmod +x ./eigenlayer

Linux/arm64:

curl -L https://github.com/NethermindEth/eigenlayer/releases/download/v0.4.3/eigenlayer-linux-arm64 --output eigenlayer
chmod +x ./eigenlayer

Для версии ubuntu 20.04.

Linux/amd64:

curl -L https://github.com/NethermindEth/eigenlayer/releases/download/v0.4.3/eigenlayer-linux-amd64-ubuntu-20-04
 --output eigenlayer
chmod +x ./eigenlayer

Linux/arm64:

curl -L https://github.com/NethermindEth/eigenlayer/releases/download/v0.4.3/eigenlayer-linux-arm64-ubuntu-20-04
 --output eigenlayer
chmod +x ./eigenlayer

После его перенесём, чтобы использовать простой формой этот бинарный файл:

cp ./eigenlayer /usr/local/bin/

После этого создаём ключи:

eigenlayer operator keys create --key-type ecdsa название_кошелька

Вводим сложный пароль и обязательно его записываем, а также данные, которые будут выданы на экран!

Далее создаем второй ключ и также записываем все данные, которые выводятся в консоли:

eigenlayer operator keys create --key-type bls название_кошелька

Для просмотра ваших кошельков можно использовать команду:

eigenlayer operator keys list

Далее импортируем адрес в MetaMask, используя ECDSA Private Key (Hex) и используем краны для получения Goerli ETH (раз, два или три).

Далее качаем файл для регистрации:

curl -O https://raw.githubusercontent.com/NethermindEth/eigenlayer/develop/cli/operator/config/operator-config-example.yaml

Далее переименовываем файл:

mv operator-config-example.yaml operator-config.yaml

И переносим его в папку, чтобы упорядочить всё:

mv operator-config.yaml /root//.eigenlayer/operator-config.yaml

После этого создаём аккаунт и приложение на сайте Alchemy:

И копируем HTTPS, который увидим при клике сюда:

После этого нужно заполнить данные в файле operator-config.yaml:

Что указано стрелками: наш кошелёк, который импортировали в MetaMask, затем HTTPS от Alchemy, путь к metadata.json, который создадим немного позже на github и пути к файлам, которые можно получить командой:

eigenlayer operator keys list

Далее создадим наш metadata.json в github:

Вставляем там свои данные:

{
 "name": "<OPERATOR_NAME>",
 "website": "<YOUR_WEBSITE>",
 "description": "<DESCRIPTION>",
 "logo": "https://www.example.com/logo.png",
 "twitter": "<YOUR_TWITTER>"
}

Далее копируем ссылку по кнопке Raw и вставляем в наш файл operator-config.yaml.

После этого мы готовы регистрировать:

cd .eigenlayer
eigenlayer operator register operator-config.yaml

Вводим два раз пароль, который задавали при создании ключей и дожидаемся такого результата: