June 18, 2022

Sui Node

L1 блокчейн от Mysten LabsОфициальный сайт
Выглядит как сладкий проект, токен анонсирован

Всем здарова бандиты, сегодня будем ставить Sui ноду.

Чтобы приступить к лутанию золота нам нужен будет:

  • зиккурат (сервер)

На всякий случай – официальная документация по сетапу ноды здесь. Но... давайте я перескажу что будет делать скрипт пока вы откинетесь на спинку стула и будете пить чай.

Дальнейшие команды выполнялась на Ubuntu 20, имплементация может отличаться в зависимости от платформы, но вроде как не ДОЛЖНА

(если вы не на винде, конечно)

Системные требования (официальные)

  • CPU: 2 ядра
  • RAM: 8GB
  • Storage: 50GB (SSD должно хватить с головой)

Порядок установки

Поскольку тенденции мира идут в сторону автоматизации, я написал два скрипта для установки.

Первый сделает установку более сладенькой и быстрой, так что вам не понадобится ждать 30-40 минут чтобы запустить ноду. На момент написания статьи (18 июня 1945) это САМЫЙ быстрый способ поставить ноду который я видел.

Второй же направлен на тех кто может не доверять загрузке уже готового бинарника и хочет билдить весь исходный код сам.


Первый способ (самый простой и быстрый)

Заходим на сервер и вписываем следующую команду в терминале:

wget -O sui-portable.sh --no-verbose https://cdn.qula.dev/sui/sui-portable.sh && chmod +x sui-portable.sh && ./sui-portable.sh
Приветственное окно -> 2 минуты -> нода установлена

Используя «portable» скрипт (назвал я его так по аналогии с ПО которое тоже так распространяется) происходит следующая последовательность вещей:

  • Проверяем чтобы было всё чики-фяу и нужные утилиты были на месте
  • Подключаем конфиг профиля и устанавливаем 9889 порт для нашего RPC сервера (9000 используется для Celestia, что может вызвать проблемы если она уже стоит на вашем сервере, пишите если этот порт может тоже вызвать проблемы с совместимостью). Если очень интересно что такое RPC – погуглите, но, если вы не программист или как-то не связаны с разработкой, эта инфа в 99% случаев вам не понадобится
  • Убираем сервис если уже существует (на случай переустановки)
  • Загружаем конфигурацию для ноды с гитхаб репозитория
  • Загружаем генезис для ноды с гитхаб репозитория (уже другой, отдельный репозиторий специально для генезиса)
  • Немного шаманим с переменными для удобства обновления в будущем
  • Загружаем уже сбилдженный бинарник sui-node с нашего сервера
  • Создаем и включаем системный сервис для ноды
  • Проверяем работает ли RPC на сервере
  • ????
  • DONE 🤯 🤯 🤯

🏎 🏎 🏎 Со скоростью Шамаича 🏎 🏎 🏎 ваша нода установлена, можно идти в канал #dev-general написать по образу и подобию предыдущих сообщений что вы стартовали ноду. Грац!

Второй способ (для параноиков или людей которые любят очереди)

Если пункт загрузки сбилдженного бинарника вас очень смущает или вы сидите через 5 VPNов и любите приватность – я сделал скрипт который делает всё вот прям КАК НАДО в соответствии с документацией (на самом деле нет, ибо мы не будем форкать репозиторий – я думаю на данном этапе это бесполезно).

Его самый главный минус, что он, с**а, занимает от 20-30 минут, в зависимости от силы вашего сервера и как он может сбилдить быстро Rust проект (а он билдит синхронно каждый пакет, коих больше ~1300).

Для его запуска достаточно сделать следующее:

wget -O sui.sh --no-verbose https://cdn.qula.dev/sui/sui.sh && chmod +x sui.sh && ./sui.sh

А что же поменялось-то???

На самом деле, практически всё осталось тем же КРОМЕ:

  • Мы устанавливаем все необходимые зависимости (разные пакеты + сам Rust – он нужен для билда)
  • Клоним репозиторий в папку (нет, блять, мамку) sui и копируем конфигурацию (в предыдущем способе мы её просто загружали)
  • Билдим...
Вот так вот выглядит билд... Занимает порядочно времени... Я вот пишу эту статью пока оно билдится

Больше различий нету.

В конце вас ждёт приятное оповещение как проверить работает ли наш системный сервис корректно и по какой ссылке можно проверить ваш RPC.

Интересный момент – я протестировал на нескольких серверах и даже не смотря на то что всё было ОК, некоторые не пинговались с других серверов (и не открывались в браузере), что достаточно странно.

Если не открывается в браузере по вашему айпишнику и порту – попробуйте переустановить, может что-то пошло НЕ ТАК...

Проверяем логи:

journalctl -u sui-node -f -n 10

Проверяем работает ли RPC:

curl -s -X POST http://127.0.0.1:9889 -H 'Content-Type: application/json' -d '{ "jsonrpc":"2.0", "method":"rpc.discover","id":1}' | jq .result.info

Когда всё сделали

Заходим в канал #node-ip-application и оставляем там сообщение следующего формата (адрес и порт выводились в конце установки скрипта):

http://<ваш адрес ноды>:9889

ВАЖНО!

Нужно проверить что сервер действительно работает (всегда возможны ошибки со стороны ТС/скрипта/кривого сервера/плохой сети и т.д.). Можно попробовать зайти по ссылке которую вы вставляете и убедиться что в браузере вы увидите примерно следующее:

Помните – если что-то пошло не так – всегда можно обратиться за помощью в дискорде проекта или написать нам в канал. Контакты ниже.

Наши контакты:

Телеграм канал: @hustletaless

Телеграм чат: @hustletaleschat