Hello World! Возвращаемся к нашей любимой ноде Taiko. А вы думали, всё? Нет, не всё! У Тайко каждая фаза последняя, как концерты Аллы Пугачевой. Давайте попотеем еще немного.
Подготовка
В части требований к железу и ОС ничего не меняется относительно прошлых фаз. Игрового сервера 4 ядра 8 гигов 150 Гб SSD вам по прежнему хватит, ОС Ubuntu 22.04. Cтавим, по прежнему, в режиме предложения блоков (Proposer). Сетью первого уровня для Тайко остается Holesky. Так что если вы ставили 6ую фазу -- считайте вы готовы.
Если у вас свежий сервер и еще нет докера, ставим его из официального репозитория по инструкции ниже. Если уже есть (вместе с compose) -- сразу листайте до шага “Установка”
Вводим последовательность команд. Эти команды обновляют список источников ПО (называемых репозиториями), устанавливает ключ для доступа к репозиторию докера, передает ОС информацию о том, где его скачать. Одна обособленная строка - одна команда.
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 позволяет управлять целым набором контейнеров сразу как одной сущностью с помощью специальных команд и конфигурационных файлов.
Теперь у нас все готово, переходим к установке самой ноды.
Установка
Заряжаем наш кошелек - нужно получить тестовый эфир на транзакции по вызову контракта предложения блоков. Добавляем сеть Holesky, идем на кран (еще есть вот такой), забираем тестовые монеты. Не забываем достать приватник из метамаска через дополнительные настройки - его поставим в конфигурационный файл.
Далее нам нужен RPC провайдер. Пока что проверенно неплохо работает BlockPi, воспользуемся им. Регистрируемся через гугл-аккаунт, создаем свое приложение в сети Ethereum Holesky (Не забудьте поставить галочку “Archive Node“!), открываем его, там будут две ссылки на RPC (https:// и wss:// ), их можно скопировать если нажать на кнопку https под названием вашего приложения в секции API Key List (см. скриншот ниже). Их мы будем вставлять в конфигурационный файл.
Если вы уже создавали приложение в 6ой фазе у BlockPi, новое создавать не нужно.
Для работы с нодами используйте отдельные кошельки! Никогда не подставляйте ни в какие конфигурационные файлы приватник кошелька с реальными средствами. Не переживайте за то, что у вас “голый” кошелек для ноды и что разрабы могут “побрить” ваш аккаунт как sybil, любая команда всегда рекомендует использовать голые кошельки.
Подключаемся к нашему серверу и в корневой директории скачиваем файлы Тайко, открываем конфиг для редактирования. Если у вас уже стояла на этом же сервере нода тайко с прошлой фазы, создайте новую папку latest-taiko-node (mkdir latest-taiko-node) и перейдите в нее (cd latest-taiko-node), затем выполняйте команды.
git clone https://github.com/taikoxyz/simple-taiko-node.git
cd simple-taiko-node
cp .env.sample .env
nano .env
Заполняем нужные параметры:
L1_ENDPOINT_HTTP=<копируем ссылку https:// из вашего приложения в BlockPi, порт не указываем>
L1_ENDPOINT_WS=<копируем ссылку wss:// из вашего приложения в BlockPi, порт не указываем>
L1_BEACON_HTTP=http://unstable.holesky.beacon-api.nimbus.team
ENABLE_PROPOSER=true
L1_PROPOSER_PRIVATE_KEY=<вставляем ваш приватник из метамаска>
L2_SUGGESTED_FEE_RECIPIENT=<вставляем ваш адрес метамаск>
BLOCK_PROPOSAL_FEE=100
Значение этого параметра может быть уточнено в гайде в дальнейшем. Это значение газа, которая нода выставит при отправке транзакции с новым блоком в сеть. Если газ в сети поднимется - транзакции не будут проходить. Разработчики, как и в прошлых фазах, рекомендаций не дают по этому параметру.
PROVER_ENDPOINTS=http://taiko-a7-prover.zkpool.io,http://198.244.201.79:9876,http://146.59.55.26:9876,http://kenz-prover.hekla.kzvn.xyz:9876,http://hekla.stonemac65.xyz:9876,http://148.113.9.122:9876,http://taiko.web3crypt.net:9876,http://148.113.17.127:9876,http://hekla.prover.taiko.coinblitz.pro:9876,https://prover-hekla.taiko.tools,https://prover2-hekla.taiko.tools,http://taiko-testnet.m51nodes.xyz:9876,http://148.113.16.26:9876,http://51.161.118.103:9876
(Cписок публичных пруверов найден на просторах дискорда проекта)
Cохраняем файл комбинацией Ctrl+X, затем Y.
Если у вас на этом сервере стояла предыдущая версия Тайко - нужно снести все старые контейнеры с удалением их томов. Для этого перейдите в ту папку, откуда запускали прошлую ноду и введите docker compose down -v
Запускаем ноду командой
docker compose --profile proposer up -d
Обратите внимание! Теперь запускаем compose проект с указанием докер-профиля! Как следствие, все другие действия над проектом (т.е. набором наших контейнеров) надо также выполнять с указанием профиля.
Cмотрим логи
docker compose --profile proposer logs -f
Должна начаться синхронизация, не должно быть кучи ошибок. Логи должны как обычно лететь быстро и состоять в основном из INFO-сообщений. Вот пример строчки об успешном ходе синхронизации:
INFO [05-04|12:53:41.443] Syncing: chain download in progress synced=68.08% chain=725.85MiB headers=85386@23.38MiB bodies=58130@594.19MiB receipts=58130@108.28MiB eta=10m56.785s
После ее завершения, заглядываем в обозреватель Holesky, вбиваем адрес нашего кошелька и ждем транзакций вида Propose Block. Собираем их побольше, не забываем пополнять кошелек эфиром (так как на каждый пропоз мы тратим газ) по необходимости.
Остановка ноды если что-то нужно поменять в конфигах:
docker compose --profile proposer down
Рестарт ноды
docker compose --profile proposer down && docker compose --profile proposer up -d
Удаление ноды
docker compose --profile proposer down -v
Всем желаю удачи в этой, надеюсь уже точно последней, фазе, вопросы как всегда можно задать в чате канала Investment Hollow. Гайд будет дополняться и обновляться! Не теряем SSH-подключение;)
评论 (0)