Установка ноды Gaia
В данном руководстве мы разберем установку собственной AI-модели для участия в тестнете проекта Gaia. Данная нода отличается от всех проектов, что мы разбирали ранее -- это не валидатор и не фармер, это полноценный узел нейросети. За поддержание работы узла, который постоянно обрабатывает запросы и генерирует ответы мы будем получать очки, которые превратятся в награды в mainnet. ПодготовкаОбычно AI-проекты стабильно ассоциируются с GPU и видеокартами, поэтому имеют наивысший порог входа сред...
Установка ноды Dria
В данном руководстве разбираем установку новой ИИ-ноды Dria. Схема работы ноды крайне похожа на Gaia, наша нода будет получать задания для обработки в LLM-моделях, за успешное выполнение заданий мы будем получать очки $DRIA. Разница заключается лишь в том, что нагрузку подают сами создатели проекта.ПодготовкаТребований к железу у этой ноды больше, чем у Gaia. К большому сожалению, на сервере с 4 ядрами запустить ничего не получится - данная нода просто не поддерживает такие слабые модели. Вам...
Установка ноды Gensyn
Продолжаем наш марафон ИИ-нод с новым проектом Gensyn. Наши вычислительные ресурсы здесь будут использоваться для распределенного обучения ИИ-моделей, а все узлы в сети объединятся в "разум улья", пока мы фармим очки за каждый пройденный раунд обучения.ПодготовкаВ этот раз нам потребуется сервер не менее 8 ядер и 16 Гб RAM. А также (внезапно) аккаунт Alchemy.com. Ставим мешок зависимостей, чтобы поставить nodejs и yarn: apt install -y python3 python3-venv python3-pip curl screen git yarn curl...
Установка ноды Gaia
В данном руководстве мы разберем установку собственной AI-модели для участия в тестнете проекта Gaia. Данная нода отличается от всех проектов, что мы разбирали ранее -- это не валидатор и не фармер, это полноценный узел нейросети. За поддержание работы узла, который постоянно обрабатывает запросы и генерирует ответы мы будем получать очки, которые превратятся в награды в mainnet. ПодготовкаОбычно AI-проекты стабильно ассоциируются с GPU и видеокартами, поэтому имеют наивысший порог входа сред...
Установка ноды Dria
В данном руководстве разбираем установку новой ИИ-ноды Dria. Схема работы ноды крайне похожа на Gaia, наша нода будет получать задания для обработки в LLM-моделях, за успешное выполнение заданий мы будем получать очки $DRIA. Разница заключается лишь в том, что нагрузку подают сами создатели проекта.ПодготовкаТребований к железу у этой ноды больше, чем у Gaia. К большому сожалению, на сервере с 4 ядрами запустить ничего не получится - данная нода просто не поддерживает такие слабые модели. Вам...
Установка ноды Gensyn
Продолжаем наш марафон ИИ-нод с новым проектом Gensyn. Наши вычислительные ресурсы здесь будут использоваться для распределенного обучения ИИ-моделей, а все узлы в сети объединятся в "разум улья", пока мы фармим очки за каждый пройденный раунд обучения.ПодготовкаВ этот раз нам потребуется сервер не менее 8 ядер и 16 Гб RAM. А также (внезапно) аккаунт Alchemy.com. Ставим мешок зависимостей, чтобы поставить nodejs и yarn: apt install -y python3 python3-venv python3-pip curl screen git yarn curl...
Share Dialog
Share Dialog
Приветствую! Данный гайд посвящен установке ноды проекта Taiko в 4-ой фазе их публичного тестнета. Я постараюсь описать все шаги максимально последовательно и подробно, так, что даже новички в Linux смогут разобраться. Заваривайте кружечку чая покрепче и усаживайтесь поудобнее.
Для работы нам потребуется виртуальная машина в облаке и клиент для удаленного доступа по SSH. Надеюсь, у вас уже есть и то и другое, если нет — сервера рекомендую брать в аренду на Contabo/Vultr/Hetzner, лучший SSH-клиент: MobaXTerm (чем быстрее вы выбросите PuTTY на свалку истории, тем скорее начнете комфортно работать).
Требования к ОС и характеристикам: нам нужна ОС Ubuntu 22.04, не менее 4 vCPU, 8 GB RAM, 100 GB HDD.
Далее ставим Docker, так как вся нода работает в контейнерах. Если вы еще не знаете о технологиях Докера и почему он сейчас везде используется, можно почитать полезный и простой материал тут. Настоятельно рекомендую ознакомиться, чтобы лучше понимать что вы делаете.
Докер будем ставить по официальному гайду. Есть миллион других способов, но этот самый верный, так как предполагает установку всего необходимого сразу из одного источника.
Вводим последовательность команд. Эти команды обновляют список источников ПО (называемых репозиториями), устанавливает ключ для доступа к репозиторию докера, передает ОС информацию о том, где его скачать. Одна обособленная строка - одна команда.
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-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
После завершения проверяем, что у нас все работает. Вводим
docker --version docker compose version
В выводе должна отобразиться версия докера и плагина compose.
Плагин Compose позволяет управлять целым набором контейнеров сразу как одной сущностью с помощью специальных команд и конфигурационных файлов.
Теперь у нас все готово, переходим к установке самой ноды.
Для начала небольшой теоретический блок. В Тайко валидатор может выполнять две роли - proposer и prover. Первые “предлагают” блоки, то есть собирают пачки транзакций и упаковывают, рассылая остальным участникам сети. Задача вторых - проверка собранных блоков на подлинность (отсутствие неверных или заведомо фальшивых транзакций). Мы с вами по данному гайду будем заниматься именно “пропозом”, т.е. предложением блоков. К сожалению, на текущий момент задача подтверждения блоков слишком сложна во всех смыслах этого слова. Вам потребуется сервер с определенным типом процессора а также вручную редактировать код проекта. Это задача для нодистов более высокого уровня и требует намного больших затрат денег на оборудование и времени. А вот задача пропоза решается на небольших вычислительных мощностях и не требует вмешательства в код проекта. Но к возможным наградам за тестирование приближает нас ничуть не хуже.
Второй момент - Тайко это решение второго уровня для эфира, но у Тайко есть собственный второй уровень! (а для эфира он третий, соответственно). Это часто вызывает путаницу, поэтому считаю важным зафиксировать:
Предложение блоков сети второго уровня происходит на первом уровне. Предложение блоков третьего уровня происходит на втором.
Соответственно, информация поднимается и спускается по уровням как по этажам в доме. Нода второго уровня “смотрит” в первый уровень, чтобы знать текущее состояние сети. Нода третьего уровня “смотрит” во второй уровень, чтобы знать текущее состояние сети под ней. “Просмотр” осуществляется по технологии RPC. RPC позволяет по специальной ссылке используя специальный код обратиться к узлу сети и получить нужную информацию. Для ноды тайко второго уровня потребуется RPC сети Sepolia (тестнет Эфира). Для ноды тайко третьего уровня потребуется RPC сети Taiko (Grimsvotn L2). RPC первого уровня мы возьмем у провайдера - специального сервиса, который публично предоставляет эти данные желающим. RPC второго уровня мы предоставим себе сами путем установки узла второго уровня. Итого: мы ставим две ноды тайко, одна на втором уровне смотрит в Sepolia, вторая третьего уровня смотрит в ноду второго уровня.
Операции предложения блоков потребуют газа на вызов контракта. Так что вам необходимо получить SepoliaETH на одном из следующих фасетов. Создаем полностью свежий кошелек Метамаск, добавляем сеть Sepolia (и сразу сеть Taiko заодно) и пробуем забрать:
Но моя рекомендация - не мучаться с фасетами. Из-за высокой активности пользователей в тестовых сетях, на фасетах кончается эфир и его дают очень мало. Проще отправиться на ОТС и купить сразу пачку эфира за пару долларов, которой хватит надолго.
Далее нам нужен RPC сети Sepolia. Его предоставляют провайдеры Alchemy и Infura. Я приведу пример настройки с Алхимии. Алхимия требует регистрации, рекомендую использовать Google почту. Регистрируемся, попадаем в личный Dashboard, создаем новое приложение:

Называем как удобно. Главное -- выбрать цепочку Ethereum и cеть Sepolia. Попытки забрать информацию из другой сети будут тщетными для ноды Тайко. Создаем приложение. Нажимаем кнопку View Key.

Нам нужны поля HTTPS и Websockets. Пока оставьте эту вкладку открытой, на следующих шагах перенесем информацию из нее.
Возвращаемся к серверу.
Копируем код проекта с GitHub себе на машину и переходим в папку со скачанным кодом. Затем подготавливаем файлы конфигурации из шаблонов.
git clone https://github.com/taikoxyz/simple-taiko-node.git cd simple-taiko-node cp .env.sample .env && cp .env.sample.l3 .env.l3
Открываем файл конфигурации ноды второго уровня
nano .env
Он выглядит примерно так:

Нам нужно указать следующие параметры:
L1_ENDPOINT_HTTPS=<ccылка из поля HTTPS из приложения Алхимии>
L1_ENDPOINT_WSS=<ссылка из поля WEBSOCKETS из приложения Алхимии>
Режим пропозера на втором уровне не включаем, цель гайда -- предложение блоков на третьем уровне, данная нода нужна только для синхронизации с сетью.
Сохраняем файл нажатием Ctrl+X, нажимаем Y.
Стартуем!
docker compose up -d
Два важных момента. Данную команду возможно запустить ТОЛЬКО из директории simple-taiko-node, так как именно в ней лежит файл конфигурации докера. Второе - флаг -d обязателен, не забывайте его. Этот флаг означает запуск контейнера в фоновом режиме.
Проверяем логи, что все в порядке:
docker compose logs -f
(Флаг -f означает “follow”, т.е. следование за выводом логов. Не забываем!)
Хорошие логи состоят из строчек с тегом INFO, бегущим как текст в матрице. Плохие - из набора ERROR разной степени тяжести.
Чуть проще убедиться в работоспособности можно через Grafana. Это такое средство построения графиков, в ноде Тайко используется для визуального представления технических данных о втором уровне. Чтобы открыть графану переходим на
http://<ваш_IP>:3002/d/L2ExecutionEngine/l2-execution-engine-overview?orgId=1&refresh=10s
Находим вот такую секцию:

Убеждаемся, что график линейно растет наверх. Это означает, что идет синхронизация данных. Она может занять несколько дней, данных в сети накопилось уже много. Когда она завершится, в логах не будет записей L2 is syncing, только информация о транзакциях.
Пол-дела сделано! Теперь ставим третий уровень. Сначала займемся подготовкой со стороны кошелька.
SepoliaETH бриджим в сеть Тайко Grimsvotn L2. Не забываем, что после бриджа нужен клейм со вкладки Transactions. Бридж занимает 1-2 минуты.
Далее самое интересное. Для пропоза блоков нам нужен специальный токен ТТКОе, который будет расходоваться на этот процесс вместе с эфиром. Но вот просто так достать токен нельзя. Разработчики, почему-то, очень сильно жадничают и этот токен не раздают просто так. Его насыпали в количестве 5 штук всем тем, кто был прувером или пропозером в прошлой фазе тестнета. Если вы один из таких - проверьте ваш кошелек, с помощью которого вы депонировали токены в контракт. Добавить ТТКОе в кошелек можно по адресу контракта в сети Тайко:
TransparentUpgradeableProxy (0x4284890d4AcD0bcb017eCE481B96fD4Cb457CAc8) - Alpha-3 L2 Explorer
https://explorer.test.taiko.xyz/address/0x4284890d4AcD0bcb017eCE481B96fD4Cb457CAc8
https://explorer.test.taiko.xyz/address/0x4284890d4AcD0bcb017eCE481B96fD4Cb457CAc8
Если вы впервые присоединились к тестнету, ситуация чуть сложнее. Токен можно свапнуть, но на свапалке очень мало ликвидности, от чего у него там совсем злая цена. Более адекватная - на ОТС. 10 долларов за штуку, да, комментарии излишни. Но одного токена вам хватит на предложение 20 блоков, что уже очень хорошо для проявления себя в этой фазе. Подписчикам своего канала в телеграм я в чате могу скинуть немного ТТКОе, чтобы не пришлось мучаться с ОТС. Присоединяйтесь каналу, через комментарии присоединяйтесь к чату - там же можно задавать вопросы по данному гайду если что-то не получается.
Дисклеймер: покупая на ОТС, убедитесь что продавец отправляет вам ТТКОе в сети Grimsvotn L2! ТТКОе есть также в сети Eldfell L3 (третий уровень), но с третьего уровня его не вытащить на второй! А нужен он вам именно на втором!
Далее идем в обозреватель блоков Taiko, чтобы депонировать токен в контракт. Выбираем вкладку Write Proxy. Находим поле DepositTaikoToken и вводим количество в формате “8 нулей”. Это означает, что если вы хотите положить 1 ТТКОе, в поле нужно ввести 1 и восемь нулей, т.е. 100000000. Если 0,5 ТТКОе, то вводим 5 и семь нулей: 50000000. Т.е. умножаем наше число на 10^8 и вводим результат. Нажимаем кнопку Write. Подключится кошелек Метамаск, авторизуйтесь на сайте и подтвердите транзакцию.
Возвращаемся на сервер. Переходим в корень и создаем новую папку для новой ноды
cd /root mkdir eldfell-node cd eldfell-node
Опять клонируем код с ГитХаба и переходим в папку с кодом.
git clone https://github.com/taikoxyz/simple-taiko-node.git cd simple-taiko-node cp .env.sample .env && cp .env.sample.l3 .env.l3
Теперь у нас в корне есть папка simple-taiko-node, откуда запускается нода второго уровня, и папка eldfell-node с папкой simple-taiko-node, откуда запуститься нода третьего уровня.
Открываем файл конфигурации ноды третьего уровня и редактируем
nano .env.l3
Нам нужно указать:
L2_ENDPOINT_HTTP=https://<ip вашего сервера>:8545
L2_ENDPOINT_WS=ws://<ip вашего сервера>:8546
ENABLE_PROPOSER=true
L2_PROPOSER_PRIVATE_KEY=<Закрытый ключ вашего кошелька метамаск, с которого депонировали ТТКОе>
L3_SUGGESTED_FEE_RECIPIENT=<ваш адрес метамаск>
После чего сохранить файл.
Если не знаете как вытащить закрытый ключ из метамаск: открываете расширение, нажимаете на ваш аккаунт, затем на троеточие, выбираете “показать реквизиты счета”, затем “показать закрытый ключ”. Вводите пароль и открывается ключ, его целиком копируете.
Наконец стартуем!
docker compose -f ./docker-compose.l3.yml --env-file .env.l3 up -d
Начнется синхронизация третьего уровня, за ходом которой можно следить аналогично через Grafana (только порт теперь 3002), или через логи:
docker compose -f ./docker-compose.l3.yml logs
Важно: логи нужно смотреть именно такой командой. Иначе вы будете снова смотреть логи ноды второго уровня.
Если ошибок нет, значит все идет хорошо. Вбиваем наш адрес кошелька в обозреватель блоков, ждем появления транзакций типа ProposeBlock - Success

Не забывайте следить за балансом Сеполия Эфира на втором уровне, если он иссякнет вы не сможете предлагать блоки - потребуется получить еще и бриджануть в Тайко.
Надеюсь с данным руководством у вас все получилось! Если вам понравился гайд, присоединяйтесь к каналу нашего сообщества Investment Hollow в телеграм - там мы сможем ответить на ваши вопросы, а также в нем мы публикуем информацию об актуальных тестнетах, нодах, и интересных проектах.
Остановка ноды (для перезапуска после изменения файлов конфигурации .env и .env.l3)
Третий уровень:
docker compose -f ./docker-compose.l3.yml --env-file .env.l3 down
Второй уровень:
docker compose down
Удаление ноды
Докер очень удобен тем, что все файлы контейнеров он хранит самостоятельно, и ассоциирует их с контейнерами, так что для удаления ноды достаточно удалить все виртуальные диски, что создает докер с помощью флага -v
docker compose down
Или
docker compose -f ./docker-compose.l3.yml --env-file .env.l3 down
Обновление ноды
Второй уровень
git pull origin main && docker compose pull
Третий уровень
git pull origin main && docker compose -f ./docker-compose.l3.yml --env-file .env.l3 pull
Логи
Логи отдельного контейнера можно посмотреть введя команду
docker logs -f <имя контейнера>
Все имена контейнеров можно получить, введя
docker ps
Имена отображаются в соответствующей графе NAMES
Самые полезные и важные логи в контейнерах execution_engine (cтатус синхронизации с L2 и получения данных оттуда), taiko_client_proposer (процесс предложения блоков)
Приветствую! Данный гайд посвящен установке ноды проекта Taiko в 4-ой фазе их публичного тестнета. Я постараюсь описать все шаги максимально последовательно и подробно, так, что даже новички в Linux смогут разобраться. Заваривайте кружечку чая покрепче и усаживайтесь поудобнее.
Для работы нам потребуется виртуальная машина в облаке и клиент для удаленного доступа по SSH. Надеюсь, у вас уже есть и то и другое, если нет — сервера рекомендую брать в аренду на Contabo/Vultr/Hetzner, лучший SSH-клиент: MobaXTerm (чем быстрее вы выбросите PuTTY на свалку истории, тем скорее начнете комфортно работать).
Требования к ОС и характеристикам: нам нужна ОС Ubuntu 22.04, не менее 4 vCPU, 8 GB RAM, 100 GB HDD.
Далее ставим Docker, так как вся нода работает в контейнерах. Если вы еще не знаете о технологиях Докера и почему он сейчас везде используется, можно почитать полезный и простой материал тут. Настоятельно рекомендую ознакомиться, чтобы лучше понимать что вы делаете.
Докер будем ставить по официальному гайду. Есть миллион других способов, но этот самый верный, так как предполагает установку всего необходимого сразу из одного источника.
Вводим последовательность команд. Эти команды обновляют список источников ПО (называемых репозиториями), устанавливает ключ для доступа к репозиторию докера, передает ОС информацию о том, где его скачать. Одна обособленная строка - одна команда.
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-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
После завершения проверяем, что у нас все работает. Вводим
docker --version docker compose version
В выводе должна отобразиться версия докера и плагина compose.
Плагин Compose позволяет управлять целым набором контейнеров сразу как одной сущностью с помощью специальных команд и конфигурационных файлов.
Теперь у нас все готово, переходим к установке самой ноды.
Для начала небольшой теоретический блок. В Тайко валидатор может выполнять две роли - proposer и prover. Первые “предлагают” блоки, то есть собирают пачки транзакций и упаковывают, рассылая остальным участникам сети. Задача вторых - проверка собранных блоков на подлинность (отсутствие неверных или заведомо фальшивых транзакций). Мы с вами по данному гайду будем заниматься именно “пропозом”, т.е. предложением блоков. К сожалению, на текущий момент задача подтверждения блоков слишком сложна во всех смыслах этого слова. Вам потребуется сервер с определенным типом процессора а также вручную редактировать код проекта. Это задача для нодистов более высокого уровня и требует намного больших затрат денег на оборудование и времени. А вот задача пропоза решается на небольших вычислительных мощностях и не требует вмешательства в код проекта. Но к возможным наградам за тестирование приближает нас ничуть не хуже.
Второй момент - Тайко это решение второго уровня для эфира, но у Тайко есть собственный второй уровень! (а для эфира он третий, соответственно). Это часто вызывает путаницу, поэтому считаю важным зафиксировать:
Предложение блоков сети второго уровня происходит на первом уровне. Предложение блоков третьего уровня происходит на втором.
Соответственно, информация поднимается и спускается по уровням как по этажам в доме. Нода второго уровня “смотрит” в первый уровень, чтобы знать текущее состояние сети. Нода третьего уровня “смотрит” во второй уровень, чтобы знать текущее состояние сети под ней. “Просмотр” осуществляется по технологии RPC. RPC позволяет по специальной ссылке используя специальный код обратиться к узлу сети и получить нужную информацию. Для ноды тайко второго уровня потребуется RPC сети Sepolia (тестнет Эфира). Для ноды тайко третьего уровня потребуется RPC сети Taiko (Grimsvotn L2). RPC первого уровня мы возьмем у провайдера - специального сервиса, который публично предоставляет эти данные желающим. RPC второго уровня мы предоставим себе сами путем установки узла второго уровня. Итого: мы ставим две ноды тайко, одна на втором уровне смотрит в Sepolia, вторая третьего уровня смотрит в ноду второго уровня.
Операции предложения блоков потребуют газа на вызов контракта. Так что вам необходимо получить SepoliaETH на одном из следующих фасетов. Создаем полностью свежий кошелек Метамаск, добавляем сеть Sepolia (и сразу сеть Taiko заодно) и пробуем забрать:
Но моя рекомендация - не мучаться с фасетами. Из-за высокой активности пользователей в тестовых сетях, на фасетах кончается эфир и его дают очень мало. Проще отправиться на ОТС и купить сразу пачку эфира за пару долларов, которой хватит надолго.
Далее нам нужен RPC сети Sepolia. Его предоставляют провайдеры Alchemy и Infura. Я приведу пример настройки с Алхимии. Алхимия требует регистрации, рекомендую использовать Google почту. Регистрируемся, попадаем в личный Dashboard, создаем новое приложение:

Называем как удобно. Главное -- выбрать цепочку Ethereum и cеть Sepolia. Попытки забрать информацию из другой сети будут тщетными для ноды Тайко. Создаем приложение. Нажимаем кнопку View Key.

Нам нужны поля HTTPS и Websockets. Пока оставьте эту вкладку открытой, на следующих шагах перенесем информацию из нее.
Возвращаемся к серверу.
Копируем код проекта с GitHub себе на машину и переходим в папку со скачанным кодом. Затем подготавливаем файлы конфигурации из шаблонов.
git clone https://github.com/taikoxyz/simple-taiko-node.git cd simple-taiko-node cp .env.sample .env && cp .env.sample.l3 .env.l3
Открываем файл конфигурации ноды второго уровня
nano .env
Он выглядит примерно так:

Нам нужно указать следующие параметры:
L1_ENDPOINT_HTTPS=<ccылка из поля HTTPS из приложения Алхимии>
L1_ENDPOINT_WSS=<ссылка из поля WEBSOCKETS из приложения Алхимии>
Режим пропозера на втором уровне не включаем, цель гайда -- предложение блоков на третьем уровне, данная нода нужна только для синхронизации с сетью.
Сохраняем файл нажатием Ctrl+X, нажимаем Y.
Стартуем!
docker compose up -d
Два важных момента. Данную команду возможно запустить ТОЛЬКО из директории simple-taiko-node, так как именно в ней лежит файл конфигурации докера. Второе - флаг -d обязателен, не забывайте его. Этот флаг означает запуск контейнера в фоновом режиме.
Проверяем логи, что все в порядке:
docker compose logs -f
(Флаг -f означает “follow”, т.е. следование за выводом логов. Не забываем!)
Хорошие логи состоят из строчек с тегом INFO, бегущим как текст в матрице. Плохие - из набора ERROR разной степени тяжести.
Чуть проще убедиться в работоспособности можно через Grafana. Это такое средство построения графиков, в ноде Тайко используется для визуального представления технических данных о втором уровне. Чтобы открыть графану переходим на
http://<ваш_IP>:3002/d/L2ExecutionEngine/l2-execution-engine-overview?orgId=1&refresh=10s
Находим вот такую секцию:

Убеждаемся, что график линейно растет наверх. Это означает, что идет синхронизация данных. Она может занять несколько дней, данных в сети накопилось уже много. Когда она завершится, в логах не будет записей L2 is syncing, только информация о транзакциях.
Пол-дела сделано! Теперь ставим третий уровень. Сначала займемся подготовкой со стороны кошелька.
SepoliaETH бриджим в сеть Тайко Grimsvotn L2. Не забываем, что после бриджа нужен клейм со вкладки Transactions. Бридж занимает 1-2 минуты.
Далее самое интересное. Для пропоза блоков нам нужен специальный токен ТТКОе, который будет расходоваться на этот процесс вместе с эфиром. Но вот просто так достать токен нельзя. Разработчики, почему-то, очень сильно жадничают и этот токен не раздают просто так. Его насыпали в количестве 5 штук всем тем, кто был прувером или пропозером в прошлой фазе тестнета. Если вы один из таких - проверьте ваш кошелек, с помощью которого вы депонировали токены в контракт. Добавить ТТКОе в кошелек можно по адресу контракта в сети Тайко:
TransparentUpgradeableProxy (0x4284890d4AcD0bcb017eCE481B96fD4Cb457CAc8) - Alpha-3 L2 Explorer
https://explorer.test.taiko.xyz/address/0x4284890d4AcD0bcb017eCE481B96fD4Cb457CAc8
https://explorer.test.taiko.xyz/address/0x4284890d4AcD0bcb017eCE481B96fD4Cb457CAc8
Если вы впервые присоединились к тестнету, ситуация чуть сложнее. Токен можно свапнуть, но на свапалке очень мало ликвидности, от чего у него там совсем злая цена. Более адекватная - на ОТС. 10 долларов за штуку, да, комментарии излишни. Но одного токена вам хватит на предложение 20 блоков, что уже очень хорошо для проявления себя в этой фазе. Подписчикам своего канала в телеграм я в чате могу скинуть немного ТТКОе, чтобы не пришлось мучаться с ОТС. Присоединяйтесь каналу, через комментарии присоединяйтесь к чату - там же можно задавать вопросы по данному гайду если что-то не получается.
Дисклеймер: покупая на ОТС, убедитесь что продавец отправляет вам ТТКОе в сети Grimsvotn L2! ТТКОе есть также в сети Eldfell L3 (третий уровень), но с третьего уровня его не вытащить на второй! А нужен он вам именно на втором!
Далее идем в обозреватель блоков Taiko, чтобы депонировать токен в контракт. Выбираем вкладку Write Proxy. Находим поле DepositTaikoToken и вводим количество в формате “8 нулей”. Это означает, что если вы хотите положить 1 ТТКОе, в поле нужно ввести 1 и восемь нулей, т.е. 100000000. Если 0,5 ТТКОе, то вводим 5 и семь нулей: 50000000. Т.е. умножаем наше число на 10^8 и вводим результат. Нажимаем кнопку Write. Подключится кошелек Метамаск, авторизуйтесь на сайте и подтвердите транзакцию.
Возвращаемся на сервер. Переходим в корень и создаем новую папку для новой ноды
cd /root mkdir eldfell-node cd eldfell-node
Опять клонируем код с ГитХаба и переходим в папку с кодом.
git clone https://github.com/taikoxyz/simple-taiko-node.git cd simple-taiko-node cp .env.sample .env && cp .env.sample.l3 .env.l3
Теперь у нас в корне есть папка simple-taiko-node, откуда запускается нода второго уровня, и папка eldfell-node с папкой simple-taiko-node, откуда запуститься нода третьего уровня.
Открываем файл конфигурации ноды третьего уровня и редактируем
nano .env.l3
Нам нужно указать:
L2_ENDPOINT_HTTP=https://<ip вашего сервера>:8545
L2_ENDPOINT_WS=ws://<ip вашего сервера>:8546
ENABLE_PROPOSER=true
L2_PROPOSER_PRIVATE_KEY=<Закрытый ключ вашего кошелька метамаск, с которого депонировали ТТКОе>
L3_SUGGESTED_FEE_RECIPIENT=<ваш адрес метамаск>
После чего сохранить файл.
Если не знаете как вытащить закрытый ключ из метамаск: открываете расширение, нажимаете на ваш аккаунт, затем на троеточие, выбираете “показать реквизиты счета”, затем “показать закрытый ключ”. Вводите пароль и открывается ключ, его целиком копируете.
Наконец стартуем!
docker compose -f ./docker-compose.l3.yml --env-file .env.l3 up -d
Начнется синхронизация третьего уровня, за ходом которой можно следить аналогично через Grafana (только порт теперь 3002), или через логи:
docker compose -f ./docker-compose.l3.yml logs
Важно: логи нужно смотреть именно такой командой. Иначе вы будете снова смотреть логи ноды второго уровня.
Если ошибок нет, значит все идет хорошо. Вбиваем наш адрес кошелька в обозреватель блоков, ждем появления транзакций типа ProposeBlock - Success

Не забывайте следить за балансом Сеполия Эфира на втором уровне, если он иссякнет вы не сможете предлагать блоки - потребуется получить еще и бриджануть в Тайко.
Надеюсь с данным руководством у вас все получилось! Если вам понравился гайд, присоединяйтесь к каналу нашего сообщества Investment Hollow в телеграм - там мы сможем ответить на ваши вопросы, а также в нем мы публикуем информацию об актуальных тестнетах, нодах, и интересных проектах.
Остановка ноды (для перезапуска после изменения файлов конфигурации .env и .env.l3)
Третий уровень:
docker compose -f ./docker-compose.l3.yml --env-file .env.l3 down
Второй уровень:
docker compose down
Удаление ноды
Докер очень удобен тем, что все файлы контейнеров он хранит самостоятельно, и ассоциирует их с контейнерами, так что для удаления ноды достаточно удалить все виртуальные диски, что создает докер с помощью флага -v
docker compose down
Или
docker compose -f ./docker-compose.l3.yml --env-file .env.l3 down
Обновление ноды
Второй уровень
git pull origin main && docker compose pull
Третий уровень
git pull origin main && docker compose -f ./docker-compose.l3.yml --env-file .env.l3 pull
Логи
Логи отдельного контейнера можно посмотреть введя команду
docker logs -f <имя контейнера>
Все имена контейнеров можно получить, введя
docker ps
Имена отображаются в соответствующей графе NAMES
Самые полезные и важные логи в контейнерах execution_engine (cтатус синхронизации с L2 и получения данных оттуда), taiko_client_proposer (процесс предложения блоков)
Subscribe to Investment Hollow
Subscribe to Investment Hollow
<100 subscribers
<100 subscribers
No activity yet