💡 Пожалуйста, убедитесь, что вы сохранили резервные копии своих приватных ключей в безопасном месте. По умолчанию зашифрованные ключи будут храниться в ~/.eigenlayer/operator_keys/
Внесите не менее 0,3 ETH на сгенерированный ECDSA-адрес. Он потребуется для регистрации ноды на последующих этапах.
Зарегистрируйтесь в EigenLayer в качестве оператора
💡 Вы можете пропустить следующие шаги, если вы уже являетесь зарегистрированным оператором в тестнете и мейннете EigenLayer.
Вам нужно будет сделать это один раз для тестнета и один раз для мейннета.
Создайте конфигурационные файлы, необходимые для регистрации оператора, с помощью следующих команд. Следуйте пошаговым инструкциям. После завершения будут созданы файлы operator.yaml и metadata.json.
eigenlayer operator config create
Отредактируйте файл metadata.json и заполните данные о своем операторе.
Если вы впервые регистрируете этот оператор, выполните следующую команду для регистрации и обновления оператора
eigenlayer operator register operator.yaml
После успешной регистрации вы должны увидеть
✅ Operator is registered successfully to EigenLayer
Если в будущем вам понадобится отредактировать метаданные, просто обновите файл metadata.json и выполните следующую команду
eigenlayer operator update operator.yaml
Вы также можете проверить статус регистрации оператора с помощью следующей команды.
eigenlayer operator status operator.yaml
Присоединение к MACH AVS
💡 Учебные ролики DODOchain Mach AVS первоначально будут запущены в режиме разрешительного списка операторов. Заинтересованные операторы могут зарегистрировать свой интерес с помощью этой формы:
Настройка Mach AVS
Клонирование репозитория Mach AVS
Первоначально DODOchain MACH mainnet AVS будет обслуживать тестовую сеть DODOchain. Как только DODOchain перейдет в mainnet, DODOchain MACH mainnet AVS переключится на DODOchain mainnet.
git clone https://github.com/alt-research/mach-avs-operator-setup.git
cd mach-avs-operator-setup/ethereum/mach-avs/dodochain-testnet
Подключение и отключение от MACH AVS
Для подключения и отключения скопируйте следующие env
cp .env.opt-example .env.opt
Обновите разделы TODO в .env.opt
###############################################################################
####### TODO: Операторы, пожалуйста, обновите следующие значения для вашей ноды ##############
###############################################################################
# TODO: Установите url метаданных для оператора
METADATA_URI=https://path/to/metadata.json
# TODO: Операторы должны обновить это значение в соответствии с их собственными путями
USER_HOME=${HOME}
EIGENLAYER_HOME=${USER_HOME}/.eigenlayer
# TODO: Операторы должны обновить это для своих собственных ключей
NODE_ECDSA_KEY_FILE_HOST=${EIGENLAYER_HOME}/operator_keys/opr.ecdsa.key.json
NODE_BLS_KEY_FILE_HOST=${EIGENLAYER_HOME}/operator_keys/opr.bls.key.json
# TODO: Операторам необходимо добавить пароль для расшифровки вышеуказанных ключей.
# Если ваш пароль содержит пробел, / или $, пожалуйста, используйте одинарную кавычку, чтобы
# инкапсулировать ваш пароль, например, 'mypassword /$'
OPERATOR_BLS_KEY_PASSWORD=
OPERATOR_ECDSA_KEY_PASSWORD=
Чтобы подключиться
💡 Перед тем как подключиться к MACH AVS, убедитесь, что
У вас есть необходимая инфраструктура (например, облачный хостинг) для поддержания работоспособности оператора. Операторы AVS, не справляющиеся со своими обязанностями, могут быть исключены из MACH AVS.
Вы уже были внесены в вайтлист операторов MACH AVS.
./run.sh opt-in
Если вы больше не хотите запускать AVS, вы можете отказаться от участия, запустив
./run.sh opt-out
💡 Обновление EigenLayer AVS и страницы оператора может занять несколько минут. Это автоматический процесс.
Запуск MACH AVS
Создайте файл среды
cp .env.example .env
Настройка оператора MACH AVS
Обновите секции TODO в файле .env
💡 Путь по умолчанию, где хранятся сгенерированные ключи ~/.eigenlayer/operator_keys/
###############################################################################
####### TODO: Операторы, пожалуйста, обновите следующие значения для вашей ноды ##############
###############################################################################
# TODO: Операторы должны обновить эти значения для своих путей
USER_HOME=${HOME}
EIGENLAYER_HOME=${USER_HOME}/.eigenlayer
# TODO: Операторам необходимо установить адрес ecdsa.
# который можно получить из `eigenlayer operator keys list`, адрес находится в `Key Type: ECDSA`
OPERATOR_ECDSA_ADDRESS=
# TODO: Операторы должны обновить этот адрес до своих собственных ключей
NODE_BLS_KEY_FILE_HOST=${EIGENLAYER_HOME}/operator_keys/opr.bls.key.json
# TODO: Операторам необходимо добавить пароль для расшифровки вышеуказанных ключей
# Если ваш пароль содержит пробел, / или $, пожалуйста, используйте одинарную кавычку, чтобы
# инкапсулировать ваш пароль, например, 'mypassword /$'
OPERATOR_BLS_KEY_PASSWORD=
Настройка конечной точки роллапа
Мы предварительно настроили mach-config.toml с RPC, размещенным на AltLayer. В качестве альтернативы вы можете обратиться к членам команды AltLayer в рабочей группе Slack за инструкциями по размещению собственной RPC-ноды.
Если вы хотите обновить L1 или Rollup RPC,
Перейдите в /chain-config/mach-config.toml
Найдите fetcher и l1-fetcher. Найдите переменную url и l1_url. Замените значение на свою конечную точку.
Запуск MACH AVS
Чтобы запустить MACH AVS, выполните docker compose.
Если вы хотите включить мониторинг, выполните следующие действия
docker compose --profile monitoring up
Если вы хотите остановить мониторинг:
docker compose --profile monitoring down
При использовании профиля monitoring вы можете добавить grafana для мониторинга сервиса, порт по умолчанию 1300, доступ осуществляется через localhost:13000.
Схема Helm
Столкнулись с проблемами?
Пожалуйста, свяжитесь с нами через Slack.
Часто задаваемые вопросы
Как узнать, запущен ли мой оператор?
Для начала проверьте, запущен ли ваш докер-контейнер оператора, выполнив команду docker compose ps.
docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
mach-avs-operator-node public.ecr.aws/altlayer/mach-operator:latest "operator" mach-operator-node 33 seconds ago Up 32 seconds 0.0.0.0:9092->9092/tcp, :::9092->9092/tcp
mach-avs-operator-verifier public.ecr.aws/altlayer/mach:latest "/usr/local/bin/op-m…" mach-operator-verifier 33 seconds ago Up 32 seconds 0.0.0.0:9094->9094/tcp, :::9094->9094/tcp, 9715/tcp
mach-avs-reverse-proxy-1 nginx:latest "/docker-entrypoint.…" reverse-proxy 33 seconds ago Up 32 seconds 80/tcp, 0.0.0.0:9091->9091/tcp, :::9091->9091/tcp
Далее вы можете проверить логи, чтобы узнать, были ли запущены сервисы или нет
2024-04-01T17:04:29.613Z INFO logging/zap_logger.go:49 Start operator {"address": "0xAD6B95793DD4D2b8e184FB4666D1cfb14871A035"}
2024-04-01T17:04:29.956Z INFO logging/zap_logger.go:69 Starting operator.
2024-04-01T17:04:29.956Z INFO logging/zap_logger.go:69 Starting node api server at address 0.0.0.0:9091
2024-04-01T17:04:29.956Z INFO logging/zap_logger.go:69 Starting metrics server at port 0.0.0.0:9092
2024-04-01T17:04:29.956Z INFO logging/zap_logger.go:49 start rpc server for got alert
2024-04-01T17:04:29.957Z INFO logging/zap_logger.go:49 node api server running {"addr": "0.0.0.0:9091"}
Наконец, чтобы определить, валидирует ли ваша AVS целевой роллап, можно просмотреть логи верификационного контейнера на предмет активности валидации блоков.
docker logs <name of container>
[2024-04-01T17:06:28Z INFO actor::scheduler] Validate block #166853(0x7ddde84c28da088639bb699a8982e206ca4aea4031fe37b2aa9c69fd23bac940) passed
[2024-04-01T17:06:32Z INFO actor::block-fetcher] Finalized block #166666(0x747828ae5886e1c254462ab586a32ac2fd69f93c06af8b339819160997de3879)
[2024-04-01T17:06:32Z INFO actor::block-fetcher] Latest block #166853(0x7ddde84c28da088639bb699a8982e206ca4aea4031fe37b2aa9c69fd23bac940)
[2024-04-01T17:06:36Z INFO actor::block-fetcher] Finalized block #166666(0x747828ae5886e1c254462ab586a32ac2fd69f93c06af8b339819160997de3879)
[2024-04-01T17:06:37Z INFO actor::block-fetcher] Latest block #166854(0x6f3029b754134107c4e341e1d37a4be99709b1781ba281a7d8483b5dc63b1dbb)
[2024-04-01T17:06:37Z INFO actor::scheduler] Pre validate block #166854(0x6f3029b754134107c4e341e1d37a4be99709b1781ba281a7d8483b5dc63b1dbb) passed
[2024-04-01T17:06:37Z INFO actor::scheduler] There are 1 block validation tasks waiting for result
[2024-04-01T17:06:37Z INFO actor::scheduler] Validate block #166854(0x6f3029b754134107c4e341e1d37a4be99709b1781ba281a7d8483b5dc63b1dbb) passed
[2024-04-01T17:06:41Z INFO actor::block-fetcher] Finalized block #166666(0x747828ae5886e1c254462ab586a32ac2fd69f93c06af8b339819160997de3879)
[2024-04-01T17:06:41Z INFO actor::block-fetcher] Latest block #166854(0x6f3029b754134107c4e341e1d37a4be99709b1781ba281a7d8483b5dc63b1dbb)
[2024-04-01T17:06:46Z INFO actor::block-fetcher] Finalized block #166666(0x747828ae5886e1c254462ab586a32ac2fd69f93c06af8b339819160997de3879)
[2024-04-01T17:06:46Z INFO actor::block-fetcher] Latest block #166855(0x07fbc09cf59e93b965c471153d4fabbff38ed0f72a7a2da43a141861b500fea1)
[2024-04-01T17:06:46Z INFO actor::scheduler] Pre validate block #166855(0x07fbc09cf59e93b965c471153d4fabbff38ed0f72a7a2da43a141861b500fea1) passed
[2024-04-01T17:06:46Z INFO actor::scheduler] There are 1 block validation tasks waiting for result
[2024-04-01T17:06:46Z INFO actor::scheduler] Validate block #166855(0x07fbc09cf59e93b965c471153d4fabbff38ed0f72a7a2da43a141861b500fea1) passed
Кто управляет агрегатором и выполняет агрегацию подписей BLS?
AltLayer предоставит агрегатор, к которому ваш MACH AVS сможет подключиться и отправить подписи для агрегации. Конечная точка агрегатора предварительно настроена в конфигурационном файле.
Как узнать, что при регистрации я не удовлетворяю требованиям минимального стейкинга?
Выполнение будет отменено:
execution reverted: StakeRegistry.registerOperator: Operator does not meet minimum stake
2024-04-02T19:05:40.535Z INFO logging/zap_logger.go:49 registering operator with the AVS's registry coordinator {"avs-service-manager": "0xAE9a4497dee2540DaF489BeddB0706128a99ec63", "operator": "0x44220295991E4Fe4f3A4C5FE04E96B1b19960766", "quorumNumbers": "AA=="}
2024-04-02T19:05:42.162Z ERROR logging/zap_logger.go:57 Unable to register operator with avs registry coordinator {"error": "execution reverted: StakeRegistry.registerOperator: Operator does not meet minimum stake requirement for quorum"}
github.com/Layr-Labs/eigensdk-go/logging.(*ZapLogger).Error
Будут ли вознаграждения в токенах?
Вознаграждения в мейннете MACH AVS будут в будущем. Более подробная информация будет объявлена позже.
Я не могу зарегистрироваться и сталкиваюсь с проблемой
Unable to register operator with avs registry coordinator
Пожалуйста, проверьте, достаточно ли средств на вашем ECDSA-адресе. Мы рекомендуем хранить не менее 0,3 ETH, чтобы обеспечить достаточное количество газа для регистрации, подключения и отключения оператора AVS.
Следуйте и установите EigenLayer CLI
Пожалуйста, отправьте ECDSA-адрес через форму заинтересованности MACH AVS .
Загрузите файл metadata.json на публичный URL. Затем обновите файл operator.yaml, указав в нем URL (metadata_url). Если вам нужен хостинг для размещения метаданных, вы можете загрузить метаданных и получить raw URL.
После того, как ваш оператор будет зарегистрирован, он будет отражен на .
Тестнет:
Мейннет:
.
Выполните следующую команду для и изменить каталог на DODOchain MACH AVS mainnet config.
Если вы столкнулись с ограничениями скорости на публичных конечных точках, мы рекомендуем вам использовать управляемые службы RPC, такие как , , или .
Чтобы запустить MACH AVS в кластере Kubernetes, вы можете использовать образец схемы Helm, доступный в репозитории MACH AVS Operator Setup. Вы можете найти эту схему по следующей ссылке: .