August 8, 2022

Гайд по установке ноды Sui

Новый гем?

Нашумевший блокчейн первого уровня, который использует язык программирования Rust и язык программирования Move для написания смарт-контрактов, что делает его особенным.

Разберемся детальнее.
Sui — это первый блокчейн первого уровня без права доступа, разработанный с нуля, чтобы позволить создателям и разработчикам создавать опыт, который удовлетворит следующий миллиард пользователей в web3. Sui горизонтально масштабируется для поддержки широкого спектра разработки приложений с непревзойденной скоростью при низкой стоимости.

Sui написана на языке Rust и поддерживает смарт-контракты, написанные на языке программирования Move, для определения активов, у которых может быть владелец.

Move — безопасен и выразителен, а его система типов и модель данных естественным образом поддерживают стратегии параллельного согласования/исполнения, которые делают Sui масштабируемой.

Более детально о проекте читаем по ссылке.

Аренда сервера

Арендуем сервер, например на Contabo. Рекомендуемые характеристики для Sui: 2 CPU, 8 GB RAM и операционная система ubuntu 20.04.

Можете подселить к Minima и Espresso (наши актуальные ноды).

При оплате сервера необходимо ввести пароль, с помощью которого вы будете подключаться к серверу. После покупки, вам на почту придет письмо с данными вашего сервера.

Подключение к серверу

Для того, чтобы подключиться к серверу на Windows потребуется программа PuTTY:

  • В "Host Name" вводим IP вашего сервера и нажимаем "Open";
  • В открывшимся окне прописываем команду: root;
  • Жмем "Enter" и вставляем пароль от сервера, затем "Enter".

На MacOS просто запускаем программу Terminal:

  • Заходим на сервер командой: ssh root@IP_ADDRESS, IP_ADDRESS меняем на IP сервера;
  • Дальше вводим "yes", жмем "Enter" и вставляем пароль от сервера (введеный пароль будет скрыт иконкой с ключом). Жмем "Enter".

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

Установку мы взяли у ребят из Nodes Guru.
Официальная статья.

После подключения к серверу, выполняем команды:

sudo apt update && sudo apt install wget -y
sudo apt full-upgrade
wget -O sui.sh https://api.nodes.guru/sui.sh && chmod +x sui.sh && ./sui.sh

Установка не быстрая, мы ждали примерно 30 минут. Если все прошло гладко, то будет, как на скрине ниже.

Также, проверяем командой:

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

Если все хорошо, переходим в их Discord канал и в ветке #node-ip-application пишем наш RPC: http://IP_ADDRESS:9000.

Вместо IP_ADDRESS подставляем IP-сервера, на котором установлена нода. Например, http://65.20.112.116:9000.

Создание NFT

Перейдем к созданию NFT.
Для начала создаем кошелек, вводим команду на сервере:

sui client

На первый вопрос отвечаем y, а на втором нажимаем Enter.

Смотрим адрес нашего кошелька:

sui keytool list

Запрашиваем токены в Discord канале в ветке #devnet-faucet.

После сообщения от бота создаем NFT командой:

sui client create-example-nft

Проверить наличие NFT в кошельке можно на сайте, вводим свой кошелек.

Скажу сразу, NFT часто пропадает, поэтому я время от времени еще раз запрашиваю токены и создаю NFT.

Обновление от 30.08.2022

Подключаемся к серверу и выполняем команды:

systemctl stop suid
rm -rf /var/sui/db/* /var/sui/genesis.blob $HOME/sui
source $HOME/.cargo/env
cd $HOME
git clone https://github.com/MystenLabs/sui.git
cd sui
git checkout devnet-0.8.0
cargo build -p sui-node -p sui --release
mv ~/sui/target/release/sui-node /usr/local/bin/
mv ~/sui/target/release/sui /usr/local/bin/
wget -O /var/sui/genesis.blob https://github.com/MystenLabs/sui-genesis/raw/main/devnet/genesis.blob
systemctl restart suid

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

journalctl -u suid -f -o cat

Ошибки WARN и ERROR это нормально, на то он и тестнет.

Полезные команды

Проверить ноду:

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

Проверить логи:

journalctl -u suid -f -o cat

Рестарт ноды:

sudo systemctl restart suid

Удаление бд и рестарт ноды:

systemctl stop suid
rm -rf /var/sui/db/*
systemctl restart suid

Удаление ноды:

sudo systemctl stop suid
sudo systemctl disable suid
rm -rf ~/sui /var/sui/ /usr/local/bin/sui*
rm /etc/systemd/system/suid.service

Заполняем форму

Как вы уже знаете с нашего поста, данный тестнет неоплачиваемый, но девнет нода нам нужна, чтобы заполнить форму на оплачиваемого валидатора.

Дедлайн 15 августа.

Заполнить форму можно по ссылке.

На этом все! Теперь остается только ждать, чтобы нас выбрали в качестве валидатора.

WhiteList | Chat | Twitter | OTC | Exchange