EigenDA Holesky
8CPU 16 GB 360 GB - Eigen 1)Обновляем ОС
2)Устанавливаем необходимый софт
sudo apt install curl build-essential git screen jq pkg-config libssl-dev libclang-dev ca-certificates gnupg lsb-release -y
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
wget https://golang.org/dl/go1.21.4.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.21.4.linux-amd64.tar.gz
5)Копируем файлы Eigenlayer и переходим в cli
git clone https://github.com/Layr-Labs/eigenlayer-cli.git
go build -o build/eigenlayer cmd/eigenlayer/main.go
6)Создаем ключ ecdsa(меняем имя на своё)
eigenlayer operator keys create --key-type ecdsa ИМЯКОШЕЛЬКА
Копируем сначала приватник затем ctrl+c enter что бы выйти и потом копируем и сохраняем себе адрес
7)Создаем ключ bls(меняем имя на своё)
8)Следующей командой проверяем что все ключи сохранились
9)Создаем конфиг файл. Введя команду выбираем "N"
10)Открываем файл метадата и заполняем его своей информацией(обратите внимание что ссылка на аватар должна быть именно на png картинку иначе будет ругаться.Для выхода ctrl+c, Y, enter
{
"name": "<OPERATEUR_NAME>",
"website": "<WEBSITE>",
"description": "<DESCRIPTION>",
"logo": "<https://www.example.com/logo.png>",
"twitter": "<YOUR_TWITTER>"
}
Теперь заходим на свой гитхаб и получаем raw ссылку, на файл в котором будет такой же текст как мы вставляли выше и такое же название файла. Ссылка нам понадобится на следующем шаге
11)Далее работаем с файлом operator. Меняйте данные только выделенные, остальное без изменений.
address: ВАШАДРЕССИЗecdsaКЛЮЧА
earnings_receiver_address: ВАШАДРЕССИЗecdsaКЛЮЧА
delegation_approver_address: "0x0000000000000000000000000000000000000000"
staker_opt_out_window_blocks: 0
metadata_url: <URL_RAW_GITHUB>
el_delegation_manager_address: 0xA44151489861Fe9e3055d95adC98FbD462B948e7
eth_rpc_url: https://ethereum-holesky-rpc.publicnode.com
private_key_store_path: /root/.eigenlayer/operator_keys/<NAME_WALLET>.ecdsa.key.json
12)Далее для регистрации и в дальнейшем для стейкинга нам понадобится ETH Holesky, можно минтить его через кран но в очень малых объемах. А вам нужно будет МНОГО. Обращайтесь в чат канала мы поможем приобрести необходимое количество Кидаем на свой адрес оператора небольшую сумму для комиcсии(0.2 ETH хватит на все следуюшие комиссии) И вводим команду для регистрации
Дальше мы должны появиться в дашборде. https://holesky.eigenlayer.xyz/operator
И приступить к стейкингу. Пока мы не накопим достаточное количество нет смысла приступать к дальнейшим командам.
Как понять сколько нужно для стейка?
Переходим во вкладку AVS. Находим AVS EigenDA(https://holesky.eigenlayer.xyz/avs/0xd4a7e1bd8015057293f0d0a557088c286942e84b) сортируем фильтром как на скрине и смотрим стейк у 20о-оператора. Это будет минимумом.
Стейкаем через Liquid Restaking или Wrapped Ether через вкладку Restake/
Описывать этот процесс не вижу смысла, так как там всё ежедневно меняется.Давайте обсудим это в чате.
Смомента делегации должно пройти не менее 6 часов для дальнейших действий!
Итак вы по стейку в ТОП 200?Поехали дальше!
cd
git clone https://github.com/Layr-Labs/eigenda-operator-setup.git
MAIN_SERVICE_IMAGE=ghcr.io/layr-labs/eigenda/opr-node:release-0.6.0
NETWORK_NAME=eigenda-network
MAIN_SERVICE_NAME=eigenda-native-node
# These are used for testing purpose
NODE_TEST_PRIVATE_BLS=
NODE_PRIVATE_KEY=
# EigenDA specific configs
NODE_EXPIRATION_POLL_INTERVAL=180
NODE_CACHE_ENCODED_BLOBS=true
NODE_NUM_WORKERS=1
NODE_DISPERSAL_PORT=32005
NODE_QUORUM_ID_LIST=0
NODE_VERBOSE=true
NODE_RETRIEVAL_PORT=32004
NODE_TIMEOUT=20s
NODE_SRS_ORDER=268435456
NODE_SRS_LOAD=131072
# If you are using a reverse proxy in a shared network space, the reverse proxy should listen at $NODE_DISPERSAL_PORT
# and forward the traffic to $NODE_INTERNAL_DISPERSAL_PORT, and similarly for retrieval. The DA node will register the
# $NODE_DISPERSAL_PORT port on the chain and listen for the reverse proxy at $NODE_INTERNAL_DISPERSAL_PORT.
NODE_INTERNAL_DISPERSAL_PORT=${NODE_DISPERSAL_PORT}
NODE_INTERNAL_RETRIEVAL_PORT=${NODE_RETRIEVAL_PORT}
# EigenDA mounted locations
NODE_ECDSA_KEY_FILE=/app/operator_keys/ecdsa_key.json
NODE_BLS_KEY_FILE=/app/operator_keys/bls_key.json
NODE_G1_PATH=/app/g1.point
NODE_G2_POWER_OF_2_PATH=/app/g2.point.powerOf2
NODE_CACHE_PATH=/app/cache
NODE_LOG_PATH=/app/logs/opr.log
NODE_DB_PATH=/data/operator/db
# Node logs configs
NODE_LOG_LEVEL=debug
NODE_LOG_FORMAT=text
# Metrics specific configs
NODE_ENABLE_METRICS=true
NODE_METRICS_PORT=9092
# Node API specific configs
NODE_ENABLE_NODE_API=true
NODE_API_PORT=9091
# holesky smart contracts
NODE_EIGENDA_SERVICE_MANAGER=0xD4A7E1Bd8015057293f0D0A557088c286942e84b
NODE_BLS_OPERATOR_STATE_RETRIVER=0xB4baAfee917fb4449f5ec64804217bccE9f46C67
# Churner URL
NODE_CHURNER_URL=churner-testnet-holesky.eigenda.xyz:443
# The name of the header used to get the client IP address
# If set to empty string, the IP address will be taken from the connection.
# The rightmost value of the header will be used.
NODE_CLIENT_IP_HEADER=x-real-ip
# How often to check the public IP address of the node. Set this to 0 to disable
# automatic IP address updating (if you have a stable IP address)
NODE_PUBLIC_IP_CHECK_INTERVAL=10s
###############################################################################
####### TODO: Operators please update below values for your node ##############
###############################################################################
# TODO: IP of your node
NODE_HOSTNAME=МЕНЯЙНАСВОЙIP
# TODO: Node Nginx config
NODE_NGINX_CONF_HOST=/root/eigenda-operator-setup/resources/rate-limit-nginx.conf
# TODO: Operators need to point this to a working chain rpc
NODE_CHAIN_RPC=https://ethereum-holesky-rpc.publicnode.com
NODE_CHAIN_ID=17000
# TODO: Operators need to update this to their own paths
USER_HOME=/root/
EIGENLAYER_HOME=/root/.eigenlayer
EIGENDA_HOME=/root/.eigenlayer/eigenda/holesky
NODE_LOG_PATH_HOST=${EIGENDA_HOME}/logs
NODE_G1_PATH_HOST=${USER_HOME}/eigenda-operator-setup/resources/g1.point
NODE_G2_PATH_HOST=${USER_HOME}/eigenda-operator-setup/resources/g2.point.powerOf2
NODE_DB_PATH_HOST=${EIGENDA_HOME}/db
NODE_CACHE_PATH_HOST=${USER_HOME}/eigenda-operator-setup/resources/cache
# TODO: Operators need to update this to their own keys
NODE_ECDSA_KEY_FILE_HOST=/root/.eigenlayer/operator_keys/МЕНЯЙНАИМЯКОШЕЛЬКА.ecdsa.key.json
NODE_BLS_KEY_FILE_HOST=/root/.eigenlayer/operator_keys/МЕНЯЙНАИМЯКОШЕЛЬКА.bls.key.json
# TODO: The ip provider service used to obtain a node's public IP [seeip (default), ipify)
NODE_PUBLIC_IP_PROVIDER=seeip
# TODO: Operators need to add password to decrypt the above keys
# If you have some special characters in password, make sure to use single quotes
NODE_ECDSA_KEY_PASSWORD='МЕНЯЙНАПАРОЛЬКОШЕЛЬКА'
NODE_BLS_KEY_PASSWORD='МЕНЯЙНАПАРОЛЬКОШЕЛЬКА'
cd eigenda-operator-setup/holesky
git pull
docker compose pull
docker compose up -d
По итогу должна появиться эта надпись у оператора