August 10, 2022

SUI — Установка ноды

Сегодня покажем Вам как поставить ноду уже нашумевшего проекта - SUI.

Гайд был написан админами открытого паблика I,m CRYPTO BRO

Сразу хотелось бы уточнить несколько деталей. Девнет продлиться до конца августа (проходит без наград). Многие скажут "Зачем ставить ноду в фазу без наград?", но в данном случае Вы не сможете попасть в оплачиваемую фазу не сделав этого, так как в форме для подачи заявки в следующую фазу требуют IP Вашего сервера.

За каждую волну будут платить по 2000 токенов. Количество мест в оплачиваемый тестнет — неизвестно. А если вы попадете в Основную сеть, то всем участникам основной сети застейкают 10% от тотал Suply (1,000,000,000 SUI).

Официальные требования:
2vCPU
8 GB RAM
GB SSD — 50

Этап 1: Создаем сервер у любого хостера.

Этап 2: Подготовка сервера

Введите команды указанные ниже (каждая указана в отдельном блоке)

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", затем нажать "Enter", написать цифру "1" и снова нажать "Enter".

Затем выполнить:

source "$HOME/.cargo/env"

Этап 3: Установка ноды

Введите команды указанные ниже (каждая указана в отдельном блоке)

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

Этап 4: Конфигурация ноды

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", затем нажимаем "Enter".

Затем:

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

Затем создаем файл (вставляем все одним разом):

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=always
RestartSec=3
LimitNOFILE=10000
[Install]
WantedBy=multi-user.target
EOF

Этап 5: Запуск ноды

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

Этап 6: Проверка, что все работает гуд

Тут все просто. Заходим на сайт: https://node.sui.zvalid.com/, вводим IP адрес Вашего сервера и жмем "Connect".

Если видите картину похожую на ту, что н скрине ниже, тогда все ОК.

Этап 7: Если выйдет новое обновление, введите команды описанные ниже:

systemctl stop suid

rm -rf /suidb

rm -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

Если будут какие-либо вопросы, смело пишите их в комментах к данному посту ;)

Еще больше крутых гайдов, обзоров проектов и идей в нашем паблике: https://t.me/iamcryptobro