Гайд по установке ноды 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
Заполняем форму
Как вы уже знаете с нашего поста, данный тестнет неоплачиваемый, но девнет нода нам нужна, чтобы заполнить форму на оплачиваемого валидатора.
Заполнить форму можно по ссылке.
На этом все! Теперь остается только ждать, чтобы нас выбрали в качестве валидатора.