Пост
Поделитесь своими знаниями.

Шпаргалка Sui CLI, часть 2
Газ и кран с интерфейсом командной строки
В идеале, когда вы разрабатываете свои приложения, вы должны сначала работать в devnet, затем в тестовой сети, а затем развертывать их в основной сети.
Газы Devnet и Testnet можно приобрести бесплатно. Но основная сеть? Нет.
client faucet
Вы можете легко запросить газ в devnet с помощью команды:
sui client faucet
В тестовой сети вам необходимо выполнить следующую команду cURL, чтобы запросить газ:
curl --location --request POST 'https://faucet.devnet.sui.io/v1/gas' \
--header 'Content-Type: application/json' \
--data-raw '{
"FixedAmountRequest": {
"recipient": "<YOUR SUI ADDRESS>"
}
}'
Вы также можете посетить официальный веб-сайт Sui faucet, чтобы получить некоторые токены Devnet и Testnet.
Используйте команду client gas, чтобы проверить доступные газовые токены клиента в текущей среде.
sui client gas
Для транзакций в основной сети вам необходимо приобрести Sui на биржах и пополнить свой кошелек.
Публикация пакетов
Пакеты можно публиковать в сети Sui с помощью команды client publish.
sui client publish [OPTIONS] [package_path]
Вот пример команды для публикации пакета с бюджетом газа MIST в 5000000 долларов.
sui client publish --gas-budget 5000000
Бюджет на газ не является фиксированным, скорее всего, вы захотите проверить в сети подходящее количество газа и заплатить его вперед.
Управление монетами с помощью интерфейса командной строки
При работе с монетами SUI вам, вероятно, придется часто объединять и делить их, особенно когда вы жонглируете газом или отправляете разные суммы разным контрактам или пользователям.
Если у вас есть две монеты и вы хотите объединить их, используйте следующую команду merge-coin:
sui client merge-coin --primary-coin <COIN_ID> --coin-to-merge <COIN_ID>
Первичную монету вы оставите себе, а монету, которую нужно объединить, будет поглощена.
Вместо этого нужно разделить монету? Возможно, вы хотите выплатить деньги нескольким получателям или вам просто нужны разные номиналы. Вы можете разрезать монету с помощью сплит-монет следующим образом:
sui client split-coin --coin-id <COIN_ID> --amounts <AMOUNTS>
Если вам нужно отправить монеты, используйте команду client transfer-sui следующим образом:
sui client transfer-sui --sui-coin-object-id <COIN_ID> --to <ADDRESS>
Это простая передача: вы предоставляете ей идентификатор монеты и адрес получателя, и средства переводятся.
В Sui есть программируемые транзакции, поэтому их можно отправлять нескольким получателям одновременно с помощью команды pay-sui:
sui client pay-sui --input-coins <COIN_ID> --recipients <ADDRESS> --amounts <AMOUNTS>
Вы передадите монету (или список монет), а затем укажете получателей и сумму, которую каждый должен получить. Он идеально подходит для пакетных платежей или массового распространения токенов.
Управление объектами с помощью интерфейса командной строки Sui
Sui — это все, что нужно для объектов. Контракты, токены и даже монеты — все это предметы.
Чтобы получить подробную информацию о любом объекте, просто позвоните:
sui client object <OBJECT_ID>
При этом будут выведены все метаданные, сведения о владельце и все остальное, что содержится в объекте.
Если в объекте есть динамические поля (например, реестр или растущая структура данных), вы также можете изучить их:
sui client dynamic-field <DYNAMIC_FIELD_ID>
Это очень удобная функция, которую вы можете часто использовать во время разработки.
Программируемые блоки транзакций (PTB)
Sui — одна из немногих сетей с встроенными PTB. Программируемые блоки транзакций позволяют объединять несколько операций в одну транзакцию — что-то вроде мини-скрипта, выполняемого в блокчейне.
Скажем, вам нужно вызвать функцию Move непосредственно из интерфейса командной строки. Вы сделаете это следующим образом:
sui client ptb --move-call <PACKAGE>::<MODULE>::<FUNCTION> "<TYPE>" <ARGS>
Замените адрес пакета, имя модуля и целевую функцию. Затем при необходимости укажите тип и аргументы.
А если вы хотите перенести несколько объектов в другой кошелек за один раз, вы также можете использовать PTB:
sui client ptb --transfer-objects "[<OBJECT_ID>]" <ADDRESS>
Wrap the object IDs in brackets if you’re sending more than one, and finish it off with the recipient’s address.
Заключение
Надеюсь, этой статьи будет достаточно, чтобы познакомить вас с инструментом Sui CLI. Это больше, чем просто клиент, с помощью этого инструмента вы можете многое сделать.
Если вам когда-нибудь понадобится немного освежиться или вы попробуете новую команду, сделайте шпаргалку Sui CLI своим лучшим другом. А если вы сомневаетесь, полная информация содержится в документации по интерфейсу командной строки Sui Client.
- Sui
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
Заработай свою долю из 1000 Sui
Зарабатывай очки репутации и получай награды за помощь в развитии сообщества Sui.

- ... SUIacher+1641
- ... SUIKurosakisui+1309
- ... SUIChubbycheeks +1176
- ... SUIjakodelarin+1092
- ... SUITucker+1067
- ... SUIzerus+888
- ... SUIOpiiii+846
- Почему BCS требует точного порядка полей для десериализации, когда структуры Move содержат именованные поля?65
- «Ошибки проверки нескольких источников» в публикациях модуля Sui Move — автоматическое устранение ошибок55
- Как максимизировать прибыль, держа SUI: стейкинг и ликвидный стейкинг414
- Сбой транзакции Sui: объекты, зарезервированные для другой транзакции49
- Ошибка Sui Move — невозможно обработать транзакцию Не найдено действительных газовых монет для транзакции316