August 3, 2022

SUI Node Guide - Pirate in Crypto

Подготовка.

Привет. Для начала вам нужно установить MobaxTerm. Я давненько сделал большой гайд по этой программе, все очень подробно расписал вот тут.

Теперь нужно взять какой-нибудь сервак. Для Sui необходимо Ubuntu 22.04. Я использую мегаудобный хостинг с оптимальными тарифами VDSina, очень удобный сервис. Для Sui беру сервак - 2|4|60 - за 24.6руб в сутки.

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

Выбираем операционную систему, я по стандарту беру Ubuntu 22.04, большинство нод используют именно эту ОС.

На выбор нам дает 2 варианта: 2|4|60 и 1|1|30, второй вариант подойдет для самых не требовательных нод, нам больше всего подходит именно первый вариант, поэтому выбираем его.

Резервная копия не обязательна, поэтому отказываемся, лишние затраты нам не к чему. Локация сервера тоже не особо важна, но только для суи, для некоторых нод есть ограничения в локации, поэтому нужно заранее все узнать, прежде чем арендовать сервер. Нажимаем кнопку создать.

После создания сервера, вам будет доступен IP адрес, нажимаем на него, во вкладке доступ, нажимаем на кнопочку глаза и получаем пароль, для доступа на сервер.

Установка.

На выбор можно выбрать два пути: Использовать однострочный скрипт от Nodes Guru(Самый простой вариант):

wget -O sui.sh https://api.nodes.guru/sui.sh && chmod +x sui.sh && ./sui.sh
sudo apt install curl
curl -s -X POST http://127.0.0.1:9000 -H 'Content-Type: application/json' -d '{ "jsonrpc":"2.0", "method":"rpc.discover","id":1}' | jq .result.info

Установка занимает примерно 15-20 минут.

Либо по хардкору использовать официальную документацию и устанавливать по ней, я лично извращенец, который любит такое дело, поэтому буду устанавливать по официальной документации.

Приступим. Подготовка.

Для начала, нужно установить все зависимости, то есть make clang pkg-config libssl-dev libclang-dev build-essential git curl ntp jq llvm tmux htop screen unzip cargo cmake. Все делается автоматически. Просто копируем всё и вставляем в консоль.

sudo apt update && sudo apt upgrade -y
sudo apt install make clang pkg-config libssl-dev libclang-dev build-essential git curl ntp jq llvm tmux htop screen unzip cargo cmake -y
wget https://static.rust-lang.org/rustup/dist/x86_64-pc-windows-msvc/rustup-init.exe
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

"y" и нажмите на "1"

Ждём завершения.

Sui просит всех сделать форк репозитория, для продвижения своего проекта, мы не скупые и выполняем это, но опять же это делать не обязательно. Можете использовать мой форк для продолжения.

Заходим на GitHub, сылка на репозиторий

Делаем форк

Установка.

Команды вводим последовательно.

mkdir .sui

git clone https://github.com/MystenLabs/sui.git

cd sui

git remote add upstream https://github.com/MystenLabs/sui

git fetch upstream

git checkout -B devnet --track upstream/devnet

cp crates/sui-config/data/fullnode-template.yaml fullnode.yaml

curl -fLJO https://github.com/MystenLabs/sui-genesis/raw/main/devnet/genesis.blob

cargo build --release -p sui-node

Компиляция занимает в среднем 15-25 минут. Ждем окончания

После завершения сборки, нужно сделать конфигурацию.

Конфигурация ноды.

cd

mv sui/fullnode.yaml .sui

mv sui/genesis.blob .sui

nano .sui/fullnode.yaml

Открываем файл и редактируем строчку genesis-file-location: "genesis.blob" на genesis-file-location: "/root/.sui/genesis.blob"

Для выхода нажимаем "CTRL+X", сохраняем "Y"

Прописываем:

cp sui/target/release/sui-node /usr/bin

Cоздаем сервисник:

tee /etc/systemd/system/suid.service > /dev/null <<EOF
[Unit]Description=sui
After=network-online.target
[Service]User=root
ExecStart=/usr/bin/sui-node --config-path /root/.sui/fullnode.yaml
Restart=alwaysRestartSec=3Limit
NOFILE=10000
[Install]
WantedBy=multi-user.target
EOF

Запуск.

Обозначаем ноду в сети

sed -i.bak "s/127.0.0.1/0.0.0.0/" /root/.sui/fullnode.yaml
systemctl daemon-reload
systemctl enable suid
systemctl start suid

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

journalctl -u suid -f

Если у вас так, то вы всё установили правильно.

Для проверки ноды в сети, используем этот сервис

Обновление ноды.

Команды вводим последовательно.

systemctl stop suid

rm -rf /suidbrm -rf /root/sui/suidb/

rm -rf /root/.sui/genesis.blob

wget -O /root/.sui/genesis.blob https://github.com/MystenLabs/sui-genesis/raw/main/devnet/genesis.blob

cd sui

git fetch upstream

git stash

git checkout -B devnet --track upstream/devnet

cargo build --release -p sui-node

cp target/release/sui-node /usr/bin

сd

systemctl restart suid

journalctl -u suid -f

Заключение

На данный момент доступен только DevNet, то есть поддержка ранних разработчиков, после правильно установки, заходим в дискорд проекта, в ветку #node-ip-application и подтверждаем IP адрес.

Подтверждать IP нужно в следующей форме:
http://x.x.x.x:9000/
, где за место "X" ставить ваш IP адрес.

Полезные сылки:

👉VDSina - аренда серверов

👉Discord проекта

👉Cайт проекта

👉Официальный гайд

👉GitHub

👉Здесь можно проверить вашу ноду

👉 Форма на оплачиваемы тестнет