# Установка ноды Taiko: Hekla, фаза 7

By [Investment Hollow](https://paragraph.com/@investment-hollow) · 2024-05-04

---

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](https://chainlist.org/chain/17000), идем [на кран](https://stakely.io/en/faucet/ethereum-holesky-testnet-eth) (еще есть вот [такой](https://www.holeskyfaucet.io/)), забираем тестовые монеты. Не забываем достать приватник из метамаска через дополнительные настройки - его поставим в конфигурационный файл.

Далее нам нужен RPC провайдер. Пока что проверенно неплохо работает [BlockPi](https://blockpi.io/), воспользуемся им. Регистрируемся через гугл-аккаунт, создаем свое приложение в сети Ethereum Holesky (Не забудьте поставить галочку “Archive Node“!), открываем его, там будут две ссылки на RPC (https:// и wss:// ), их можно скопировать если нажать на кнопку https под названием вашего приложения в секции API Key List (см. скриншот ниже). Их мы будем вставлять в конфигурационный файл.

![](https://storage.googleapis.com/papyrus_images/d13321495291b6f32c868635388493c764ee0b90e9775efc7e51d0842ae4529c.png)

> Если вы уже создавали приложение в 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](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://taiko-a7-prover.zkpool.io),[http://198.244.201.79:9876](http://198.244.201.79:9876),[http://146.59.55.26:9876](http://146.59.55.26:9876),[http://kenz-prover.hekla.kzvn.xyz:9876](http://kenz-prover.hekla.kzvn.xyz:9876),[http://hekla.stonemac65.xyz:9876](http://hekla.stonemac65.xyz:9876),[http://148.113.9.122:9876](http://148.113.9.122:9876),[http://taiko.web3crypt.net:9876](http://taiko.web3crypt.net:9876),[http://148.113.17.127:9876](http://148.113.17.127:9876),[http://hekla.prover.taiko.coinblitz.pro:9876](http://hekla.prover.taiko.coinblitz.pro:9876),[https://prover-hekla.taiko.tools](https://prover-hekla.taiko.tools),[https://prover2-hekla.taiko.tools](https://prover2-hekla.taiko.tools),[http://taiko-testnet.m51nodes.xyz:9876](http://taiko-testnet.m51nodes.xyz:9876),[http://148.113.16.26:9876](http://148.113.16.26:9876),[http://51.161.118.103: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_](mailto:85386@23.38MiB) _bodies=_[_58130@594.19MiB_](mailto:58130@594.19MiB) _receipts=_[_58130@108.28MiB_](mailto:58130@108.28MiB) _eta=10m56.785s_

После ее завершения, заглядываем в [обозреватель Holesky](https://holesky.etherscan.io/), вбиваем адрес нашего кошелька и ждем транзакций вида 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](https://t.me/investmenthollow). Гайд будет дополняться и обновляться! Не теряем SSH-подключение;)

---

*Originally published on [Investment Hollow](https://paragraph.com/@investment-hollow/taiko-hekla-7)*
