💡 Пожалуйста, убедитесь, что вы сохранили резервные копии своих приватных ключей в безопасном месте. По умолчанию зашифрованные ключи будут храниться в ~/.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
💡 Учебные ролики GM Network Mach AVS первоначально будут запущены в режиме разрешительного списка операторов. Заинтересованные операторы могут зарегистрировать свой интерес с помощью этой формы:
Настройка Mach AVS
Клонирование репозитория Mach AVS
git clone https://github.com/alt-research/mach-avs-operator-setup.git
cd mach-avs-operator-setup/ethereum/mach-avs/gmnetwork
Подключение и отключение от 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=
Настройка конечной точки роллапа
Мы предварительно настроили ethereum/mach-avs/gmnetwork/configs/chain/gmnetwork/mach-config.toml с RPC, размещенным на AltLayer.
Запуск MACH AVS
Чтобы запустить MACH AVS, выполните docker compose.
docker compose pull
docker compose up -d
Схема 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 сможет подключиться и отправить подписи для агрегации. Конечная точка агрегатора предварительно настроена в конфигурационном файле.
Я не могу зарегистрироваться и сталкиваюсь с проблемой
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.
После того, как ваш оператор будет зарегистрирован, он будет отражен на .
.
Выполните следующую команду для и измените каталог на GM Network MACH AVS mainnet config.
Чтобы запустить MACH AVS в кластере Kubernetes, вы можете использовать образец схемы Helm, доступный в репозитории MACH AVS Operator Setup. Вы можете найти эту схему по следующей ссылке: .