Sui testnet deploy
Арендовать сервер под деплой можете тут - https://www.anrdoezrs.net/click-100739982-13796472
Гайд оптимизирован под любые сервера. Установка занимает несколько минут.
Для деплоя подойдет любой сервер c Ubuntu 20.04. Если у вас на сервере установлены ноды, но вы плохо разбираетесь в командной строке, то лучше делать на новом. Вводим команды по одной:
sudo apt-get update && sudo apt-get install -y --no-install-recommends sudo apt install tzdata ca-certificates libclang-dev openssl protobuf-compiler -y apt install curl bash <(curl -s https://raw.githubusercontent.com/DOUBLE-TOP/tools/main/rust.sh) rustup install stable rustup update stable rustup default stable
mkdir $HOME/sui-deploy wget -qO $HOME/sui-deploy/sui https://doubletop-bin.ams3.digitaloceanspaces.com/sui/cli-v0.22.0/sui sudo chmod +x $HOME/sui-deploy/sui sudo mv $HOME/sui-deploy/sui /usr/bin/
Проверяем что все установилось:
which sui
sui --version
Отлично, полдела уже сделано (на самом деле нет, просто подбадриваю). Идем дальше:
sui genesis --force rm -rf .sui/sui_config/client.yaml sui client
- вводим: Y
- вводим: https://fullnode.testnet.sui.io:443
- вводим: testnet
- вводим: 0
sui keytool import "senior gloom payment profit favorite bleak tower habit pretty series blind weapon" ed25519
В этой команде заменяем сид фразу на свою, от кошелька с тестовыми токенами, в таком же формате с пробелом через слово.
sui client switch --address 0xb27bbe7f72d2da1802bd1360d84c305343607e43
cat .sui/sui_config/client.yaml
Переходим к контрактам (наконец-то):
sui move new my_first_package
wget -q -O $HOME/my_first_package/sources/my_module.move https://raw.githubusercontent.com/MystenLabs/sui/main/sui_programmability/examples/move_tutorial/sources/my_module.move
cd my_first_package sui client publish --gas-budget 1000
Не нужно пугаться, если выдаст такую ошибку (если не такую то нужно):
Это стандартный перегруз сети, пробуйте еще, пока не получится.
В итоге получаете такой результат:
Поздравляю, контракт создан. Можно ввести данные в эксплорере или перейти в него прямо через активности кошеля.
Воспользуемся простой функцией создания меча «Sword».
Для этого смотрим на данные ниже:
Теперь, для начала, проверяем текущее количество Sword:
sui client object АЙДИ_КОНТРАКТА
Видим внизу: swords_created: 0
💡 Если не видим, то вместо АЙДИ_КОНТРАКТА вставляем АЙДИ_ОБЪЕКТА. Точно так же и дальше, если будет ошибка, то меняем их местами
Вводим следующую команду, заменив АЙДИ_КОНТРАКТА, АЙДИ_ОБЪЕКТА, АДРЕС_КОШЕЛЬКА на свои:
sui client call --package АЙДИ_ОБЪЕКТА --module "my_module" --function "sword_create" --args АЙДИ_КОНТРАКТА 5 5 АДРЕС_КОШЕЛЬКА --gas-budget 1000
sui client object АЙДИ_КОНТРАКТА
Видим внизу: swords_created: 1
Можно добавлять +1 пока не закончатся тестовые суинки.
Как мультить
Вводим cd и возвращаемся к пункту с вводом сид-фразы:
sui keytool import "сид фраза" ed25519
sui client switch --address "кошелек"
cat .sui/sui_config/client.yaml
cd my_first_package sui client publish --gas-budget 1000