Гайд. Установка ноды TriggerX
Предварительный гайд, будет еще дорабатываться. Пока наблюдаются проблемы с работой ноды
Требования к серверу:
Внимание у хостера Play2go для подписчиков канала действует промокод SNGDAO он дает бонус к сумме пополнения +5%
Подойдет сервер от 159 рублей / месяц
Keeper
Для того чтобы стать активным Хранителем(Keeper) в системе, пользователи должны зарегистрироваться в EigenLayer и TriggerX. Этот процесс включает настройку безопасности, генерацию ключей, создание файла с настройками, и регистрации на обоих платформах.
Предварительные условия:
- Добавьте Keeper в белый лист: Вы должны заполнить форму. Нода будет работать, только после одобрения вашего кошелька оператора указанного в форме.
- Застейкать токены с адреса который вы указываете в гугл форме для оператора.
- На кошельке должно быть немного тестовых токенов в сети Holesky для регистрации. Кран с токенами
Как застейкать токены:
1) Идем в кран, получаем тестовые токены Holesky ETH
2) Идем в Lido и стейкаем большую часть ваших Holesky ETH
3) Идем в дашборд Eigenlayer, там в Assets у нас появится токен stETH>нажимаем на него>Жмем кнопку Restake>подтверждаем операцию в кошельке.
Установка ноды:
1) Выполняем проверку и установку обновлений: sudo apt update && sudo apt upgrade -y
2) Проверяем установлен ли Docker:
docker --version
Если докер установлен, переходим к пункту 3.
Если Dockera нет, то ставим.
2.1 Установка docker, копируем целиком и запускаем на сервере:
sudo apt update -y && sudo apt upgrade -y for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done sudo apt-get update sudo apt-get install ca-certificates curl gnupg sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg echo \ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] 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 update -y && sudo apt upgrade -y sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin # Test Docker sudo docker run hello-world
Далее ставим Docker Compose:
sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose version
3) Копируем скрипт установки:
git clone https://github.com/trigg3rX/triggerx-keeper-setup.git
и переходим в папку со скриптом:
cd triggerx-keeper-setup
4) Далее нам нужно поставить Nodejs разработчик настаивает именно на версии 22.6.0 . Поэтому устанавливать будем именно её:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# Выполняем \. "$HOME/.nvm/nvm.sh"
# Устанавливаем версию v22.6.0: nvm install 22.6.0
# Включаем использование v22.6.0: nvm use 22.6.0
# Проверяем версию, должно показать v22.6.0 node -v
5) Ставим Othentic CLI
npm i -g @othentic/othentic-cli
Проверяем, что все верно установилось:
othentic-cli -v
Должно показать version 1.11.1
6) Создайте в папке(triggerx-keeper-setup) со скриптом файл .env и вставьте в него следующее содержимое, внеся свои данные где требуется(что менять написано в тексте самого файла):
######################
# For SNGdao Keepers #
######################
# В идеале RPC от Alchemy или Infura, с публичные RPCs иногда может работать некорректно
# RPC URL for eth-holesky
L1_RPC=https://ethereum-holesky-rpc.publicnode.com
# RPC URL for base-sepolia
L2_RPC=https://sepolia.base.org
# Приватный ключ для Consensus
# Рекомендация: Создайте новый кошелек и введите приваткей от него.
PRIVATE_KEY=
# Адрес кошелька который вы указывали в форме во время регистрации
OPERATOR_ADDRESS=
# Укажите IP адрес вашего сервера. PEER_ID оставьте пустым
PUBLIC_IPV4_ADDRESS=
PEER_ID=
# Порты по умолчанию 9005 и 9006. Если они у вас используются, то укажите другие свободные.
OPERATOR_RPC_PORT=9005
OPERATOR_P2P_PORT=9006
OPERATOR_METRICS_PORT=9009
# Grafana порт, по умолчанию 3000
GRAFANA_PORT=3000
################
# DO NOT EDIT #
################
L1_CHAIN=17000
L2_CHAIN=84532
AVS_GOVERNANCE_ADDRESS=0xE52De62Bf743493d3c4E1ac8db40f342FEb11fEa
ATTESTATION_CENTER_ADDRESS=0x8256F235Ed6445fb9f8177a847183A8C8CD97cF1
PINATA_API_KEY=3e1b278b99bd95877625
PINATA_SECRET_API_KEY=8e41503276cd848b4f95fcde1f30e325652e224e7233dcc1910e5a226675ace4
IPFS_HOST=apricot-voluntary-fowl-585.mypinata.cloud
OTHENTIC_BOOTSTRAP_ID=12D3KooWBNFG1QjuF3UKAKvqhdXcxh9iBmj88cM5eU2EK5Pa91KB
OTHENTIC_CLIENT_RPC_ADDRESS=https://aggregator.triggerx.network
HEALTH_IP_ADDRESS=https://health.triggerx.network
7) Получаем Peer_ID:
othentic-cli node get-id --node-type attester
Вы получите PEER_ID который нужно скопировать и вставить в файл .env, который мы создали выше.
Регистрация оператора в Eigen Layer
Напоминаю, на кошельке который будете регистрировать должны быть тестовые токены в сети Holesky ETH
1) Вводим команду для регистрации:
othentic-cli operator register-eigenlayer
Указываем приватный ключ от кошелька оператора(от кошелька который в гугл форме указывали) и далее указываем Имя. Остальные пункты можно оставить пустыми нажимая enter
Регистрация Keeper'а
1) Вводим команду для регистрации:
othentic-cli operator register
- Вводим приваткей оператора
- Далее вводим Y или N в зависимости одинаковые или разные приватные ключи мы используем для оператора и для Consensus. Можете проверить что указали в файле .env
- Вводим приваткей для Consensus
- Далее нас попросит ввести AVS Governance Contract Address
Указываем0xE52De62Bf743493d3c4E1ac8db40f342FEb11fEa - Вводим публичный адрес кошелька для получения наград. Например адрес кошелька оператора
Команды:
# Запустить ноду ./triggerx.sh start
# Остановить ноду ./triggerx.sh stop
# Посмотреть логи ./triggerx.sh logs # Посмотреть логи сервисов ./triggerx.sh logs-keeper # Keeper logs ./triggerx.sh logs-othentic # Othentic logs
# Статус ноды ./triggerx.sh status # Помощь ./triggerx.sh help