May 20, 2022

Гайд по поднятию ноды Sui и выполнию заданий Devnet.

На данный момент лучше поставить фулл ноду!!

Обновлено 10.06

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

Сервер брал на 4/8/160, память можно меньше, но 4 ядра самое оптимальное, как показывает практика

Обновляем и устанавливаем нужные пакеты

sudo apt update && sudo apt upgrade -y

Если появляется такое окно, то выбираем первый пункт и нажимаем ок

sudo apt install make clang pkg-config libssl-dev

Соглашаемся, пишем y

Далее устанавливаем Rust и Cargo

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

Выбираем стандартную установку, пишем 1

Если возникает такая ошибка, то надо установить curl

sudo apt update

sudo apt install curl

Далее продолжаем установку

source ~/.profile
source ~/.cargo/env

Проверяем версию cargo, должна быть 1.61.0 или выше

cargo -V

Устанавливаем файлы

apt install libprotobuf-dev protobuf-compiler

Также соглашаемся, пишем y

apt install make clang pkg-config libssl-dev

Переходим непосредственно к установке sui, установка занимает 20-30 минут

cargo install --locked --git https://github.com/MystenLabs/sui.git --branch "devnet" sui

Открываем порты

sudo ufw allow 5000
sudo ufw allow 5001

Проверяем кошелек, должно быть написано примерно вот так: /root/.cargo/bin/wallet

which wallet

Узнаем свой адресс кошелька

wallet active-address

Пишем сначала y, потом нажимаем Enter

Проверяем ещё раз этой командой, кошелек должен выглядить вот так:

После этого заходим в дискорд, в канал #devnet-faucet и запрашиваем монеты с крана командой !faucet <ваш кошелек>

Переходим к созданию НФТ

Создаем нфт

wallet create-example-nft

Видим вот такой ответ

НФТ можно посмотреть тут https://explorer.devnet.sui.io/ введя id нфт, также можно посмотреть что есть на кошельке введя туда его адрес.

НФТ которое было создано не имеет ни картинки, ни описания, поэтому создаем полноценный PFP NFT (ссылка пишется без скобок, остальное с ними)

wallet create-example-nft --url=ссылка --description="описание" --name="имя"

Кому лень делать самому, можете скопировать мой вариант

wallet create-example-nft --url=https://lh3.googleusercontent.com/pw/AM-JKLVZJD47LzjISscW86gnnL2jqWOTT76M18I4DWATp-SLlp_aNX7n20eEDR8w_gYzo636uOMdkkQ0Iag8HtVKFm1ANWlhNgP4VTo9cu7himwGTY7p9kOUNuqmZpTjNtel5zmsdn0hXipwMNox6Oqwcn45=s640-no?authuser=0 --description="Hitman. Agent 047" --name="Dmitriyi Hitman"

Созданное НФТ можно проверить по ссылке выше

Далее публикуем модуль.

Допустим мы хотим создать НФТ для игры, которую можно будет минтить на любой адрес.

Клонируем репозитарий

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

Публикуем нфт

wallet publish --path sui/sui_programmability/examples/move_tutorial --gas-budget 30000

Результат должен быть такой

Сохраняем 2 id выделенных на скрине

Создаем 2 кошелек

wallet new-address

И выполняем команду

wallet call --function sword_create --module M1 --package 0x<PACKAGE_ID> --args \"0x<FORGE_ID>\" 42 7 \"0x<PLAYER_ADDRESS>\" --gas-budget 30000

Где:
<PACKAGE_ID> первый id, который сохраняли, а <FORGE_ID> второй, <PLAYER_ADDRESS> - кошелёк, который только что создали

Увидим удачную транзакцию

На этом пока все. Этот мануал был написан благодаря:

@sr20de#7650 и его гайду

Uncle Bogdan#5559 и его скрипту, гитхаб

Моя статья почему Sui это круто

Присоединяйтесь в дискорд, там всегда помогут и расскажут последние новости!

Discord Sui

Twitter Sui

Github Sui

Website