November 20, 2022

SUI Devnet

Всем доброго времени суток!
О проекте SUI, думаю, слышали все, но линк на всякий случай оставлю.
У тех, кому пришло сообщение на почту, есть возможность поучаствовать в первой волне тестнета. Команда не скрывает, что будут награды, участвовать однозначно стоит.

Итак, начнём:

1. Переезд ноды на более мощный сервер

Требования к Фул-нодам в тестовой сети повысились - сейчас они такие:

  • CPUs: 10 core
  • RAM: 32 GB
  • Storage: 1 TB

Желательно переставлять на тот же IP, на котором все это время держали ноду
(Ссылка на источник https://docs.sui.io/build/fullnode#full-node-setup)

2. Установка

Обновить пакеты и установить зависимости

sudo apt-get update \
    && apt-get install -y --no-install-recommends \
    tzdata \
    ca-certificates \
    build-essential \
    pkg-config \
    cmake

Установить Rust

curl https://sh.rustup.rs -sSf | sh

Далее выбираем пункт 1

source "$HOME/.cargo/env"

rustc --version

Создать папку для ноды

mkdir -p $HOME/.sui

Клонировать репозиторий sui

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

Перейти в папку sui

cd sui

⠀Добавляем удалённы репозиторий upstream

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

⠀Актуализируем данные

git fetch upstream

Переходим в ветку devnet

git checkout -B testnet --track upstream/devnet

Проверяем текущий комит - он должен быть таким

cargo build --release

⠀Переместить бинарные файлы в папку с бинарными файлами

mv $HOME/sui/target/release/{sui,sui-node,sui-faucet} /usr/bin/

⠀Вернуться в домашнюю директорию

cd

⠀Скачать файл генезиса (для тестнета)

git clone https://github.com/SuiExternal/sui-external.git
cp sui-external/genesis.blob $HOME/.sui/ && rm -rf sui-external

⠀Скопировать конфиг

cp $HOME/sui/crates/sui-config/data/fullnode-template.yaml \
$HOME/.sui/fullnode.yaml

⠀Отредактировать конфиг

sed -i -e "s%db-path:.*%db-path: \"$HOME/.sui/db\"%; "\
"s%metrics-address:.*%metrics-address: \"0.0.0.0:9184\"%; "\
"s%json-rpc-address:.*%json-rpc-address: \"0.0.0.0:9000\"%; "\
"s%genesis-file-location:.*%genesis-file-location: \"$HOME/.sui/genesis.blob\"%; " $HOME/.sui/fullnode.yaml

⠀Открыть используемые порты

sudo apt install iptables-persistent -y
sudo iptables -I INPUT -p tcp --dport "9184" -j ACCEPT
sudo netfilter-persistent save

Создать сервисный файл

printf "[Unit]
Description=Sui node
After=network-online.target

[Service]
User=$USER
ExecStart=`which sui-node` --config-path $HOME/.sui/fullnode.yaml
Restart=on-failure
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target" > /etc/systemd/system/suid.service

⠀Запустить сервис

sudo systemctl daemon-reload
sudo systemctl enable suid
sudo systemctl restart suid

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

sudo journalctl -f -u suid

Проверяем себя в эксплорере, не забываем сменить сеть на Testnet

https://explorer.sui.io/

3. Создаём клиента

Создаём новый кошелёк - Обязательно сохраняем мнемонику!

sui client

y

https://fullnode.testnet.sui.io:443/

0

Или восстанавливаем старый кошелёк

sui keytool import "word1 word2 word3 word4 word5 word6 word7 word8 word9 word 10 word11 word 12" ed25519

5. Заключение

Всем за уделённое время. Надеюсь, этот гайд помог вам!

Ссылки:

проект: https://sui.io/

установка ноды: https://docs.sui.io/build/fullnode

Наш Телеграм: https://t.me/octopus_space

Наш Твитер: https://twitter.com/octopus__space