Самые новые
Будьте в курсе последних постов.
Посты
2386Как Sui управляет хранением данных: сколько это стоит, как вы экономите и почему планирование важно
Это решает проблему: Команды забывают, что в Sui затраты на хранение данных вносятся авансом и подлежат возмещению при удалении данных. Это приводит к раздутым дизайнам и высоким комиссиям. Что вы узнаете: Как рассчитывается плата за хранение Что такое скидки и когда их можно получить Управление жизненным циклом данных в сети Шаблоны сокращения и архивирования 1) Модель авансовой платы за хранение При создании или расширении объекта вы платите единовременную плату, пропорциональную увеличению размера. При удалении объекта вы получаете скидку на хранение (процент от первоначальной платы). 2) Почему это важно Большие или многочисленные объекты могут потребовать значительных затрат. Скидки стимулируют вывоз мусора в неиспользованном состоянии. 3) Проектирование жизненного цикла Создание: платите полную плату за добавленные байты. Мутация: разница в размере оплаты и получения. Удаление: получите скидку. 4) Шаг за шагом: сокращение аукционов с истекшим сроком действия Сохраните отметку времени истечения срока действия в каждом объекте аукциона. По истечении срока действия разрешите любому актеру объявить аукцион о закрытии аукциона. закрытие аукциона передает оставшиеся активы, удаляет объект аукциона. Звонящий получает небольшое вознаграждение в виде скидки на хранение (или отдельного вознаграждения). Храните журналы событий для сохранения истории, а не сохраняйте весь объект. Результат: снижение нагрузки на сеть, возврат бонусов. 5) Модели управления затратами Объединяйте данные в меньшее количество и более крупные объекты. Используйте внесетевое хранилище для больших активов (IPFS, Arweave). Используйте динамические поля, чтобы избежать монолитных структур.
- Sui
- SDKs and Developer Tools
- Transaction Processing
- Security Protocols
- Move
0В движке Суя: «Консенсус», «Нарвал» и «Буллшарк»
Это решает проблему: Многие разработчики предполагают, что все блокчейны сериализуют транзакции в одном журнале, похожем на цепочку, но консенсус Суи оптимизирован для параллельного выполнения транзакций. Неправильное понимание этого приводит к неверным предположениям об окончательности и порядке транзакций. Что вы узнаете: Как Нарвал и Bullshark работают вместе Что на самом деле предписывает «консенсус» в Суе Как взаимодействуют параллельное исполнение и окончательность Шаблоны проектирования, позволяющие не полагаться на глобальный порядок 1) Модель нарвала — быка Sui использует двухкомпонентный стек консенсуса: Narwhal: мемпул и уровень доступности данных. Он обеспечивает трансляцию транзакций и гарантирует, что все валидаторы видят один и тот же набор транзакций с доказательствами. Bullshark: консенсусный протокол на основе DAG, который упорядочивает транзакции в случае необходимости заказа (транзакции с общими объектами). Транзакции с объектами, принадлежащими владельцу, не требуют согласованного упорядочения — после проверки входных объектов они выполняются независимо друг от друга. 2) Категории транзакций и правила заказа Сделки с объектами, находящимися в собственности: согласованное оформление заказа не требуется. Валидаторы проверяют право владения/версию, выполняют и быстро дорабатывают. Транзакции с общими объектами: их необходимо упорядочить во избежание конфликтных записей. Последствия для проектирования: Прикасаясь к общим объектам, полагайтесь только на детерминированный порядок; не думайте, что во всем мире «tx A происходит раньше tx B». 3) Гарантии окончательности Судебный процесс предполагает, что сделки с одним владельцем в обычных условиях завершаются менее чем за секунду. Транзакции с общими объектами завершаются после согласования заказа (обычно в тестовой сети — около 2—3 секунд). 4) Распространенные заблуждения разработчиков Заблуждение: «Если я отправлю запрос A, а затем запрос B, они всегда будут исполнены по порядку». Реальность: если они коснутся объектов, находящихся в разрозненном владении, они могут дорабатывать их параллельно или даже не в том порядке, в котором они отправляются. Заблуждение: «По каждому налогу нужен консенсус». Реальность: это необходимо только для записи с общими объектами. 5) Шаг за шагом: создание таблицы лидеров в игре Проблема: вам нужна таблица лидеров, но вы не хотите, чтобы при каждом обновлении очков возникала задержка при достижении консенсуса. Решение: Храните баллы каждого игрока в принадлежащих им объектах PlayerStats. Периодически выполняйте запланированное задание, объединяющее результаты в общий объект Leaderboard для всеобщего обозрения. Публикуйте события, связанные с изменением очков; внесетевые системы обновляют таблицы лидеров практически в реальном времени. Пользователи мгновенно видят локальные обновления, а публичные рейтинги обновляются через определенные промежутки времени. Результат: действия пользователей выполняются с минимальными задержками. Консенсусная загрузка выполняется только для периодической синхронизации. 6) Контрольный список Минимизируйте запись общих объектов. Не полагайтесь на глобальное налоговое упорядочение. Используйте статистическое или периодическое агрегирование, основанное на событиях, для общественного просмотра.
- Sui
- SDKs and Developer Tools
- Transaction Processing
- Security Protocols
- Move
0Автоматизация корпоративных рабочих процессов с помощью модулей Move
Введение: переход к автономной бизнес-логике Современные предприятия все чаще переходят от ручных операций и рабочих процессов среднего размера к автоматизированным саморегулирующимся системам. Смарт-контракты составляют основу этой эволюции, позволяя компаниям: • Сократить накладные расходы • Устраните задержки • Повысить прозрачность • Минимизируйте ошибки и мошенничество Однако многим платформам смарт-контрактов не хватает гибкости, безопасности и производительности. Познакомьтесь с Move, языком смарт-контрактов, лежащим в основе Sui, который обеспечивает модульную программируемую автоматизацию рабочих процессов корпоративного уровня. Почему модули Move идеально подходят для автоматизации предприятий Язык Sui Move позволяет определять модульные, повторно используемые компоненты кода, называемые модулями Move. Эти модули содержат бизнес-правила и могут быть объединены в автоматизированные системы в разных отраслях. Ключевые функции, приносящие пользу предприятиям: Функция «Влияние на бизнес» Модель безопасности ресурсов Предотвращае�� двойные расходы и условия гонок Объектно-ориентированная логика Четкое отслеживание активов и контроль владения Модульная архитектура Многоразовые рабочие процессы и обновляемые компоненты Доступ на основе возможностей Подробные разрешения ролей в рабочих процессах Формальная проверка Корректность программы и обеспечение соответствия Пример использования: автоматизация рабочего процесса закупок Давайте рассмотрим, как компания может автоматизировать процесс закупок и привлечения поставщиков с помощью модулей Move. Традиционный рабочий процесс: Создан запрос ценового предложения (RFQ) Поставщик отправляет ценовое предложение вручную Внутреннее одобрение менеджером по закупкам Оформлен заказ на поставку (PO) Поставщик доставляет товары и выставляет счета Платеж обрабатывается с помощью финансовых средств В комплекте с модулями Move: RFQModule отправляет запрос в цепочке QuoteModule принимает криптографические заявки ApprovalModule проверяет соответствие требованиям и автоматически утверждает приемлемые предложения Модуль PurchaseOrder запускает выпуск смарт-контракта DeliveryModule отслеживает подтверждения чеков в сети PaymentModule автоматически высвобождает средства при доставке ✅ Все взаимодействия регистрируются, подлежат исполнению и аудиту. Базовая архитектура автоматизированного рабочего процесса, основанного на перемещениях Модули Move обычно имеют следующую структуру: 🔧 Дизайн модуля: модуль закупок: :purchaseOrder { структура Order имеет ключ { идентификатор: u64, покупатель: адрес, поставщик: адрес, статус: u8,//0: ожидает рассмотрения, 1: одобрен, 2: отправлен, 3: оплачен сумма: u64, } общественный фонд approve_order (заказ: &mut Order) { утверждайте! (order.status == 0, «Заказ уже обработан»); статус заказа = 1; } общественное развлечение mark_shipped (заказ: &mut Order) { утверждаю! (order.status == 1, «Заказ не одобрен»); статус заказа = 2; } публичный фонд release_payment (порядок: &mut Order) { утверждайте! (order.status == 2, «Товар еще не отправлен»); статус заказа = 3; //Логика перевода средств поставщику } } 🔐 Контроль доступа: Вы можете определить, кто и какие функции может вызывать, используя функциональные объекты или проверки подписей, привязанные к корпоративным ролям (например, финансовый отдел, менеджер, поставщик). Преимущества модульной автоматизации рабочих процессов ✅ Возможность аудита: Каждая функция генерирует журналы, которые можно собирать и индексировать для проверки соответствия требованиям. ✅ Функциональная совместимость: Модули могут ссылаться на внешние объекты, такие как счета-фактуры, квитанции о доставке или учетные данные пользователя. ✅ Масштабируемость: После развертывания модули могут обслуживать несколько отделов, географических регионов или бизнес-подразделений с минимальным дублированием кода. ✅ Возможность модернизации: Благодаря объектно-ориентированной системе Sui модули можно изменять и обновлять без нарушения работы всей системы. Стратегия корпоративной интеграции Чтобы внедрить интеллектуальную автоматизацию в существующие бизнес-системы, Sui поддерживает: • шлюзы API для интеграции модулей Move с традиционными ERP (например, SAP, Oracle) • Webhooks или сервисы Oracle для передачи событий за пределами сети (например, отправка обновлений) • zkLogin для доступа на основе ролей через корпоративные системы идентификации (например, Google Workspace, Azure AD) Пример: • Логистическая платформа интегрирована с датчиками Интернета вещей, которые подтверждают прибытие грузовика по GPS → запускают контракт Sui на отметку о доставке → запускают оплату. Пример из практики: автоматизация страховых претензий Предприятие: многонациональная страховая компания Автоматизированный рабочий процесс: заявки на дорожно-транспортные происшествия Старый процесс: ручная проверка, медленные расчеты, высокий уровень мошенничества Новый рабочий процесс Sui: Пользователь подает претензию в мобильном приложении Изображения и данные, загруженные вне сети Искусственный интеллект подтверждает серьезность несчастного случая Модуль Move проверяет политику + проверяет метку времени/местоположение Контракт автоматически утверждается или продлевается в зависимости от оценки доверия Платежный модуль высвобождает средства по претензиям Результаты: • 80% действительных претензий были урегулированы менее чем за 30 минут • Сокращение числа мошеннических претензий на 60% • Полный аудиторский журнал, доступный регулирующим органам и группам по соблюдению нормативных требований Управление и соответствие нормативным требованиям в рамках автоматизации перемещений Модульный подход Sui позволяет внедрить встроенные средства управления предприятием, такие как: • Одобрение несколькими подписями для крупных переводов • Настраиваемые функции приостановления/возобновления в случае судебных блокировок • Занесение взаимодействующих модулей или кошельков в белый или черный список • Логика условного депонирования для условных действий между ненадежными сторонами Модули Move могут быть сконструированы с учетом внутренних политик, региональных стандартов или отраслевых стандартов (таких как ISO, SOC2 или PCI DSS). Вызовы и соображения риска Устранение проблем с помощью модулей Move Человеческий фактор при автоматизации: использование, ограничение возможностей и формальная верификация Дивергенция рабочих процессов Модульная конструкция позволяет использовать параллельные или настраиваемые пути Интеграция устаревших систем Создавайте гибридные мосты с помощью оффчейн-сервисов Контроль со стороны регулирующих органов Публикуйте события и структурированные журналы для удобного аудита Ошибки в смарт-контрактах Проведите официальное тестирование и сторонние аудиты Предприятия, внедряющие Move, должны инвестировать в разработку контрактов, экспертную оценку и системы мониторинга для обеспечения надежности и управления. Вывод: Sui + Move = революция корпоративных рабочих процессов Модули Move на Sui представляют собой смену парадигмы в проектировании и внедрении бизнес-логики предприятиями: • Автоматизируйте процессы с полной прозрачностью и безопасностью • Сократите расходы за счет минимизации посредников и ручных проверок • Быстрая адаптация к нормативным или рыночным изменениям с помощью модульной конструкции • Предоставляйте клиентам и партнерам более быстрые и интеллектуальные услуги Переводя критически важные рабочие процессы на программируемые смарт-контракты, поддающиеся аудиту, предприятия повышают эффективность, устойчивость и стратегическую гибкость в децентрализованном мире.
- Sui
- Architecture
0Автоматизация корпоративных рабочих процессов с помощью модулей Move
Введение: переход к автономной бизнес-логике Современные предприятия все чаще переходят от ручных операций и рабочих процессов среднего размера к автоматизированным саморегулирующимся системам. Смарт-контракты составляют основу этой эволюции, позволяя компаниям: • Сократить накладные расходы • Устраните задержки • Повысить прозрачность • Минимизируйте ошибки и мошенничество Однако многим платформам смарт-контрактов не хватает гибкости, безопасности и производительности. Познакомьтесь с Move, языком смарт-контрактов, лежащим в основе Sui, который обеспечивает модульную программируемую автоматизацию рабочих процессов корпоративного уровня. Почему модули Move идеально подходят для автоматизации предприятий Язык Sui Move позволяет определять модульные, повторно используемые компоненты кода, называемые модулями Move. Эти модули содержат бизнес-правила и могут быть объединены в автоматизированные системы в разных отраслях. Ключевые функции, приносящие пользу предприятиям: Функция «Влияние на бизнес» Модель безопасности ресурсов Предотвращает двойные расходы и условия гонок Объектно-ориентированная логика Четкое отслеживание активов и контроль владения Модульная архитектура Многоразовые рабочие процессы и обновляемые компоненты Доступ на основе возможностей Подробные разрешения ролей в рабочих процессах Формальная проверка Корректность программы и обеспечение соответствия Пример использования: автоматизация рабочего процесса закупок Давайте рассмотрим, как компания может автоматизировать процесс закупок и привлечения поставщиков с помощью модулей Move. Традиционный рабочий процесс: Создан запрос ценового предложения (RFQ) Поставщик отправляет ценовое предложение вручную Внутреннее одобрение менеджером по закупкам Оформлен заказ на поставку (PO) Поставщик доставляет товары и выставляет счета Платеж обрабатывается с помощью финансовых средств В комплекте с модулями Move: RFQModule отправляет запрос в цепочке QuoteModule принимает криптографические заявки ApprovalModule проверяет соответствие требованиям и автоматически утверждает приемлемые предложения Модуль PurchaseOrder запускает выпуск смарт-контракта DeliveryModule отслеживает подтверждения чеков в сети PaymentModule автоматически высвобождает средства при доставке ✅ Все взаимодействия регистрируются, подлежат исполнению и аудиту. Базовая архитектура автоматизированного рабочего процесса, основанного на перемещениях Модули Move обычно имеют следующую структуру: 🔧 Дизайн модуля: модуль закупок: :purchaseOrder { структура Order имеет ключ { идентификатор: u64, покупатель: адрес, поставщик: адрес, статус: u8,//0: ожидает рассмотрения, 1: одобрен, 2: отправлен, 3: оплачен сумма: u64, } общественный фонд approve_order (заказ: &mut Order) { утверждайте! (order.status == 0, «Заказ уже обработан»); статус заказа = 1; } общественное развлечение mark_shipped (заказ: &mut Order) { утверждаю! (order.status == 1, «Заказ не одобрен»); статус заказа = 2; } публичный фонд release_payment (порядок: &mut Order) { утверждайте! (order.status == 2, «Товар еще не отправлен»); статус заказа = 3; //Логика перевода средств поставщику } } 🔐 Контроль доступа: Вы можете определить, кто и какие функции может вызывать, используя функциональные объекты или проверки подписей, привязанные к корпоративным ролям (например, финансовый отдел, менеджер, поставщик). Преимущества модульной автоматизации рабочих процессов ✅ Возможность аудита: Каждая функция генерирует журналы, которые можно собирать и индексировать для проверки соответствия требованиям. ✅ Функциональная совместимость: Модули могут ссылаться на внешние объекты, такие как счета-фактуры, квитанции о доставке или учетные данные пользователя. ✅ Масштабируемость: После развертывания модули могут обслуживать несколько отделов, географических регионов или бизнес-подразделений с минимальным дублированием кода. ✅ Возможность модернизации: Благодаря объектно-ориентированной системе Sui модули можно изменять и обновлять без нарушения работы всей системы. Стратегия корпоративной интеграции Чтобы внедрить интеллектуальную автоматизацию в существующие бизнес-системы, Sui поддерживает: • шлюзы API для интеграции модулей Move с традиционными ERP (например, SAP, Oracle) • Webhooks или сервисы Oracle для передачи событий за пределами сети (например, отправка обновлений) • zkLogin для доступа на основе ролей через корпоративные системы идентификации (например, Google Workspace, Azure AD) Пример: • Логистическая платформа интегрирована с датчиками Интернета вещей, которые подтверждают прибытие грузовика по GPS → запускают контракт Sui на отметку о доставке → запускают оплату. Пример из практики: автоматизация страховых претензий Предприятие: многонациональная страховая компания Автоматизированный рабочий процесс: заявки на дорожно-транспортные происшествия Старый процесс: ручная проверка, медленные расчеты, высокий уровень мошенничества Новый рабочий процесс Sui: Пользователь подает претензию в мобильном приложении Изображения и данные, загруженные вне сети Искусственный интеллект подтверждает серьезность несчастного случая Модуль Move проверяет политику + проверяет метку времени/местоположение Контракт автоматически утверждается или продлевается в зависимости от оценки доверия Платежный модуль высвобождает средства по претензиям Результаты: • 80% действительных претензий были урегулированы менее чем за 30 минут • Сокращение числа мошеннических претензий на 60% • Полный аудиторский журнал, доступный регулирующим органам и группам по соблюдению нормативных требований Управление и соответствие нормативным требованиям в рамках автоматизации перемещений Модульный подход Sui позволяет внедрить встроенные средства управления предприятием, такие как: • Одобрение несколькими подписями для крупных переводов • Настраиваемые функции приостановления/возобновления в случае судебных блокировок • Занесение взаимодействующих модулей или кошельков в белый или черный список • Логика условного депонирования для условных действий между ненадежными сторонами Модули Move могут быть сконструированы с учетом внутренних политик, региональных стандартов или отраслевых стандартов (таких как ISO, SOC2 или PCI DSS). Вызовы и соображения риска Устранение проблем с помощью модулей Move Человеческий фактор при автоматизации: использование, ограничение возможностей и формальная верификация Дивергенция рабочих процессов Модульная конструкция позволяет использовать параллельные или настраиваемые пути Интеграция устаревших систем Создавайте гибридные мосты с помощью оффчейн-сервисов Контроль со стороны регулирующих органов Публикуйте события и структурированные журналы для удобного аудита Ошибки в смарт-контрактах Проведите официальное тестирование и сторонние аудиты Предприятия, внедряющие Move, должны инвестировать в разработку контрактов, экспертную оценку и системы мониторинга для обеспечения надежности и управления. Вывод: Sui + Move = революция корпоративных рабочих процессов Модули Move на Sui представляют собой смену парадигмы в проектировании и внедрении бизнес-логики предприятиями: • Автоматизируйте процессы с полной прозрачностью и безопасностью • Сократите расходы за счет минимизации посредников и ручных проверок • Быстрая адаптация к нормативным или рыночным изменениям с помощью модульной конструкции • Предоставляйте клиентам и партнерам более быстрые и интеллектуальные услуги Переводя критически важные рабочие процессы на программируемые смарт-контракты, поддающиеся аудиту, предприятия повышают эффективность, устойчивость и стратегическую гибкость в децентрализованном мире.
- Sui
- Architecture
0Автоматизация корпоративных рабочих процессов с помощью модулей Move
Введение: переход к автономной бизнес-логике Современные предприятия все чаще переходят от ручных операций и рабочих процессов среднего размера к автоматизированным саморегулирующимся системам. Смарт-контракты составляют основу этой эволюции, позволяя компаниям: • Сократить накладные расходы • Устраните задержки • Повысить прозрачность • Минимизируйте ошибки и мошенничество Однако многим платформам смарт-контрактов не хватает гибкости, безопасности и производительности. Познакомьтесь с Move, языком смарт-контрактов, лежащим в основе Sui, который обеспечивает модульную программируемую автоматизацию рабочих процессов корпоративного уровня. Почему модули Move идеально подходят для автоматизации предприятий Язык Sui Move позволяет определять модульные, повторно используемые компоненты кода, называемые модулями Move. Эти модули содержат бизнес-правила и могут быть объединены в автоматизированные системы в разных отраслях. Ключевые функции, приносящие пользу предприятиям: Функция «Влияние на бизнес» Модель безопасности ресурсов Предотвращает двойные расходы и условия гонок Объектно-ориентированная логика Четкое отслеживание активов и контроль владения Модульная архитектура Многоразовые рабочие процессы и обновляемые компоненты Доступ на основе возможностей Подробные разрешения ролей в рабочих процессах Формальная проверка Корректность программы и обеспечение соответствия Пример использования: автоматизация рабочего процесса закупок Давайте рассмотрим, как компания может автоматизировать процесс закупок и привлечения поставщиков с помощью модулей Move. Традиционный рабочий процесс: Создан запрос ценового предложения (RFQ) Поставщик отправляет ценовое предложение вручную Внутреннее одобрение менеджером по закупкам Оформлен заказ на поставку (PO) Поставщик доставляет товары и выставляет счета Платеж обрабатывается с помощью финансовых средств В комплекте с модулями Move: RFQModule отправляет запрос в цепочке QuoteModule принимает криптографические заявки ApprovalModule проверяет соответствие требованиям и автоматически утверждает приемлемые предложения Модуль PurchaseOrder запускает выпуск смарт-контракта DeliveryModule отслеживает подтверждения чеков в сети PaymentModule автоматически высвобождает средства при доставке ✅ Все взаимодействия регистрируются, подлежат исполнению и аудиту. Базовая архитектура автоматизированного рабочего процесса, основанного на перемещениях Модули Move обычно имеют следующую структуру: 🔧 Дизайн модуля: модуль закупок: :purchaseOrder { структура Order имеет ключ { идентификатор: u64, покупатель: адрес, поставщик: адрес, статус: u8,//0: ожидает рассмотрения, 1: одобрен, 2: отправлен, 3: оплачен сумма: u64, } общественный фонд approve_order (заказ: &mut Order) { утверждайте! (order.status == 0, «Заказ уже обработан»); статус заказа = 1; } общественное развлечение mark_shipped (заказ: &mut Order) { утверждаю! (order.status == 1, «Заказ не одобрен»); статус заказа = 2; } публичный фонд release_payment (порядок: &mut Order) { утверждайте! (order.status == 2, «Товар еще не отправлен»); статус заказа = 3; //Логика перевода средств поставщику } } 🔐 Контроль доступа: Вы можете определить, кто и какие функции может вызывать, используя функциональные объекты или проверки подписей, привязанные к корпоративным ролям (например, финансовый отдел, менеджер, поставщик). Преимущества модульной автоматизации рабочих процессов ✅ Возможность аудита: Каждая функция генерирует журналы, которые можно собирать и индексировать для проверки соответствия требованиям. ✅ Функциональная совместимость: Модули могут ссылаться на внешние объекты, такие как счета-фактуры, квитанции о доставке или учетные данные пользователя. ✅ Масштабируемость: После развертывания модули могут обслуживать несколько отделов, географических регионов или бизнес-подразделений с минимальным дублированием кода. ✅ Возможность модернизации: Благодаря объектно-ориентированной системе Sui модули можно изменять и обновлять без нарушения работы всей системы. Стратегия корпоративной интеграции Чтобы внедрить интеллектуальную автоматизацию в существующие бизнес-системы, Sui поддерживает: • шлюзы API для интеграции модулей Move с традиционными ERP (например, SAP, Oracle) • Webhooks или сервисы Oracle для передачи событий за пределами сети (например, отправка обновлений) • zkLogin для доступа на основе ролей через корпоративные системы идентификации (например, Google Workspace, Azure AD) Пример: • Логистическая платформа интегрирована с датчиками Интернета вещей, которые подтверждают прибытие грузовика по GPS → запускают контракт Sui на отметку о доставке → запускают оплату. Пример ��з практики: автоматизация страховых претензий Предприятие: многонациональная страховая компания Автоматизированный рабочий процесс: заявки на дорожно-транспортные происшествия Старый процесс: ручная проверка, медленные расчеты, высокий уровень мошенничества Новый рабочий процесс Sui: Пользователь подает претензию в мобильном приложении Изображения и данные, загруженные вне сети Искусственный интеллект подтверждает серьезность несчастного случая Модуль Move проверяет политику + проверяет метку времени/местоположение Контракт автоматически утверждается или продлевается в зависимости от оценки доверия Платежный модуль высвобождает средства по претензиям Результаты: • 80% действительных претензий были урегулированы менее чем за 30 минут • Сокращение числа мошеннических претензий на 60% • Полный аудиторский журнал, доступный регулирующим органам и группам по соблюдению нормативных требований Управление и соответствие нормативным требованиям в рамках автоматизации перемещений Модульный подход Sui позволяет внедрить встроенные средства управления предприятием, такие как: • Одобрение несколькими подписями для крупных переводов • Настраиваемые функции приостановления/возобновления в случае судебных блокировок • Занесение взаимодействующих модулей или кошельков в белый или черный список • Логика условного депонирования для условных действий между ненадежными сторонами Модули Move могут быть сконструированы с учетом внутренних политик, региональных стандартов или отраслевых стандартов (таких как ISO, SOC2 или PCI DSS). Вызовы и соображения риска Устранение проблем с помощью модулей Move Человеческий фактор при автоматизации: использование, ограничение возможностей и формальная верификация Дивергенция рабочих процессов Модульная конструкция позволяет использовать параллельные или настраиваемые пути Интеграция устаревших систем Создавайте гибридные мосты с помощью оффчейн-сервисов Контроль со стороны регулирующих органов Публикуйте события и структурированные журналы для удобного аудита Ошибки в смарт-контрактах Проведите официальное тестирование и сторонние аудиты Предприятия, внедряющие Move, должны инвестировать в разработку контрактов, экспертную оценку и системы мониторинга для обеспечения надежности и управления. Вывод: Sui + Move = революция корпоративных рабочих процессов Модули Move на Sui представляют собой смену парадигмы в проектировании и внедрении бизнес-логики предприятиями: • Автоматизируйте процессы с полной прозрачностью и безопасностью • Сократите расходы за счет минимизации посредников и ручных проверок • Быстрая адаптация к нормативным или рыночным изменениям с помощью модульной конструкции • Предоставляйте клиентам и партнерам более быстрые и интеллектуальные услуги Переводя критически важные рабочие процессы на программируемые смарт-контракты, поддающиеся аудиту, предприятия повышают эффективность, устойчивость и стратегическую гибкость в децентрализованном мире.
- Sui
- Architecture
0Создание первого приложения DApp с помощью Sui TypeScript SDK — шаг за шагом
Для кого это предназначение: Разработчики интерфейсов и полнофункциональных приложений, которые хотят интегрировать Sui в веб-приложения, кошельки или информационные панели, не полагаясь только на интерфейс командной строки. Цель: К концу этой статьи вы сможете: Установите и настройте SDK Sui TypeScript. Подключитесь к тестовой сети и запросите данные блокчейна. Выполняйте транзакции программно. Управляйте проблемами, эффектами и распространенными ошибками SDK. Часть 1 — Что делает SDK Sui TypeScript Sui TypeScript SDK— это ваш мост между браузерном/серверным приложением и сетью Sui. Это: Подключается к узлам RPC длячтения данных(объекты, события, балансы). Отправляеттранзакции(переводы, звонки Move). Работает в средеNode.jsи браузерах. Работает во многих кошельках и децентрализованных приложениях в экосистеме Sui. Часть 2 — Предварительные условия Прежде чем начать, вам понадобятся: Node.js≥ 18 npmилипряжа Кошелек Sui (например, расширение Sui Wallet) для управления приватными ключами. Некоторые интерфейсыtestnet(можно получить из крана с помощью интерфейса командной строки или кошелька). Часть 3 — Установка SDK 1.Создайте новый проект: mkdir sui-ts-demo и cd sui-ts-demo инициализация npm -y 2.Установите SDK: npm install @mysten /sui.js (Необязательно) Установите dotenv для управления переменными окружения: npm установите dotenv Часть 4 — Подключение к сети index.js(или index.ts при использовании TypeScript): импорт «dotenv/config»; импортируйте {JSONRPCProvider, подключение} из '@mysten /sui.js'; //Создаем подключение к тестовой сети Sui поставщик констант = новый JsonRPCProvider ( новое соединение ({fullnode: 'https://fullnode.testnet.sui.io/'}) ); //Тестирование соединения: получение последней информации о блоке асинхронная функция getLatestBlock () { const latest = wait provider.getLatestCheckpoint/порядковый номер (); console.log («Последняя контрольная точка:», последняя); } Получите самый новый блок (); Запустите: узел index.js В случае успеха вы увидите контрольный номер, означающий, что ваш SDK может взаимодействовать с сетью. Часть 5 — Запрос данных Пример. Извлеките баланс SUI. адрес константы = process.env.my_address;//задан в.env константные монеты = ждут провайдера.getCoins ({владелец: адрес, тип монеты: '0x2: :sui: :SUI'}); console.log («Ваши монеты:», coins.data); console.log («Общий баланс:», coins.data.reduce ((сумма, c) => сумма + bigInt (см. баланс), 0n) .toString ()); Часть 6 — Отправка транзакции (Transfer SUI) 1) Импортируйте пару клавиш Если вы храните ключ локально (только для разработчиков и тестов —никогда не раскрывайте производственные ключа): импортируйте {Пара клавиш Ed25519, RawSigner} из '@mysten /sui.js'; const SecretKey = process.env.secret_key_base64;//закрытый ключ в кодировке base64 пара клавиш const = пара клавиш ed25519. fromSecret Key (Buffer.from (секретный ключ, 'base64')); подписавший константу = новый пользователь RawSigner (пара клавиш, поставщик); 2) Сборка и отправка асинхронная функция SendSui (получатель, сумма) { константный налог = ожидает подписчика.paysUI ({ Входные монеты: (ожидайте провайдера. getCoins ({владелец: keypair.getPublicKey () .tosuiAddress ()}) .data.map (c => c.coinObjectID), получатели: [получатель], суммы: [сумма],//в формате MIST (1 SUI = 1_000_000_000 MIST) }); console.log («Передать дайджест:», tx.digest); } отправить UI («0xАдрес_получателя», 1_000_000); Часть 7 — Вызов функции перемещения Если вы опубликовали пакет (например, счетчик из статьи 1): асинхронная функция IncrementCounter (идентификатор пакета, идентификатор объекта, by) { текст константы = ожидает подписчика. ExecuteMoveCall ({ Идентификатор объекта пакета: идентификатор пакета, модуль: «счетчик», функция: 'inc', Аргументы типа: [], аргументы: [ObjectID, по], Бюджет газа: 20_000_000, }); console.log ('Дайджест инкремента: ', tx.digest); } Часть 8 — Распространенные проблемы и решения |Проблема|Причина|Исправить| | ----------------| | | | Неверная строка base64 | Неверная кодировка ключа | Убедитесь, что ключ является необработанным закрытым ключом в base64 | | Недостаточно газа | Не выбран пользовательский интерфейс тестовой сети или маленькая монета | Используйте кран и объединяйте монеты с помощью интерфейса командной строки перед вызовом SDK | | Транзакция так и не была подтверждена | Неверная конечная точка RPC | Используйте официальные URL-адреса всех узлов тестовой сети и основной сети | | Ошибки ввода в TS | Несоответствие версий SDK | Установите последнюю версию @mysten /sui.js и выберите конфигурацию TS | Часть 9 — Советы по разработке 1.Никогда не следует жестко кодировать ключив исходном коде — используйте файл.env. 2.Пакетное чтение— провайдер поддерживает запросы к нескольким объектам за один вызов. 3.Используйте события— подпишитесь на определенные события в своих модулях Move. 4.Тестируйте в локальной сети— с помощью интерфейса командной строки можно запустить локальную сеть для интеграционного тестирования. ✅ Теперь вы можете: Подключитесь к Sui с помощью JavaScript/TypeScript. Балансы запросов и объекты. Отправляйте SUI и программно вызывайте функции Move.
- Sui
- SDKs and Developer Tools
0Создание первого приложения DApp с помощью Sui TypeScript SDK — шаг за шагом
Для кого это предназначение: Разработчики интерфейсов и полнофункциональных приложений, которые хотят интегрировать Sui в веб-приложения, кошельки или информационные панели, не полагаясь только на интерфейс командной строки. Цель: К концу этой статьи вы сможете: Установите и настройте SDK Sui TypeScript. Подключитесь к тестовой сети и запросите данные блокчейна. Выполняйте транзакции программно. Управляйте проблемами, эффектами и распространенными ошибками SDK. Часть 1 — Что делает SDK Sui TypeScript Sui TypeScript SDK— это ваш мост между браузерном/серверным приложением и сетью Sui. Это: Подключается к узлам RPC длячтения данных(объекты, события, балансы). Отправляеттранзакции(переводы, звонки Move). Работает в средеNode.jsи браузерах. Работает во многих кошельках и децентрализованных приложениях в экосистеме Sui. Часть 2 — Предварительные условия Прежде чем начать, вам понадобятся: Node.js≥ 18 npmилипряжа Кошелек Sui (например, расширение Sui Wallet) для управления приватными ключами. Некоторые интерфейсыtestnet(можно получить из крана с помощью интерфейса командной строки или кошелька). Часть 3 — Установка SDK 1.Создайте новый проект: mkdir sui-ts-demo и cd sui-ts-demo инициализация npm -y 2.Установите SDK: npm install @mysten /sui.js (Необязательно) Установите dotenv для управления переменными окружения: npm установите dotenv Часть 4 — Подключение к сети index.js(или index.ts при использовании TypeScript): импорт «dotenv/config»; импортируйте {JSONRPCProvider, подключение} из '@mysten /sui.js'; //Создаем подключение к тестовой сети Sui поставщик констант = новый JsonRPCProvider ( новое соединение ({fullnode: 'https://fullnode.testnet.sui.io/'}) ); //Тестирование соединения: получение последней информации о блоке асинхронная функция getLatestBlock () { const latest = wait provider.getLatestCheckpoint/порядковый номер (); console.log («Последняя контрольная точка:», последняя); } Получите самый новый блок (); Запустите: узел index.js В случае успеха вы увидите контрольный номер, означающий, что ваш SDK может взаимодействовать с сетью. Часть 5 — Запрос данных Пример. Извлеките баланс SUI. адрес константы = process.env.my_address;//задан в.env константные монеты = ждут провайдера.getCoins ({владелец: адрес, тип монеты: '0x2: :sui: :SUI'}); console.log («Ваши монеты:», coins.data); console.log («Общий баланс:», coins.data.reduce ((сумма, c) => сумма + bigInt (см. баланс), 0n) .toString ()); Часть 6 — Отправка транзакции (Transfer SUI) 1) Импортируйте пару клавиш Если вы храните ключ локально (только для разработчиков и тестов —никогда не раскрывайте производственные ключа): импортируйте {Пара клавиш Ed25519, RawSigner} из '@mysten /sui.js'; const SecretKey = process.env.secret_key_base64;//закрытый ключ в кодировке base64 пара клавиш const = пара клавиш ed25519. fromSecret Key (Buffer.from (секретный ключ, 'base64')); подписавший константу = новый пользователь RawSigner (пара клавиш, поставщик); 2) Сборка и отправка асинхронная функция SendSui (получатель, сумма) { константный налог = ожидает подписчика.paysUI ({ Входные монеты: (ожидайте провайдера. getCoins ({владелец: keypair.getPublicKey () .tosuiAddress ()}) .data.map (c => c.coinObjectID), получатели: [получатель], суммы: [сумма],//в формате MIST (1 SUI = 1_000_000_000 MIST) }); console.log («Передать дайджест:», tx.digest); } отправить UI («0xАдрес_получателя», 1_000_000); Часть 7 — Вызов функции перемещения Если вы опубликовали пакет (например, счетчик из статьи 1): асинхронная функция IncrementCounter (идентификатор пакета, идентификатор объекта, by) { текст константы = ожидает подписчика. ExecuteMoveCall ({ Идентификатор объекта пакета: идентификатор пакета, модуль: «счетчик», функция: 'inc', Аргументы типа: [], аргументы: [ObjectID, по], Бюджет газа: 20_000_000, }); console.log ('Дайджест инкремента: ', tx.digest); } Часть 8 — Распространенные проблемы и решения |Проблема|Причина|Исправить| | ----------------| | | | Неверная строка base64 | Неверная кодировка ключа | Убедитесь, что ключ является необработанным закрытым ключом в base64 | | Недостаточно газа | Не выбран пользовательский интерфейс тестовой сети или маленькая монета | Используйте кран и объединяйте монеты с помощью интерфейса командной строки перед вызовом SDK | | Транзакция так и не была подтверждена | Неверная конечная точка RPC | Используйте официальные URL-адреса всех узлов тестовой сети и основной сети | | Ошибки ввода в TS | Несоответствие версий SDK | Установите последнюю версию @mysten /sui.js и выберите конфигурацию TS | Часть 9 — Советы по разработке 1.Никогда не следует жестко кодировать ключив исходном коде — используйте файл.env. 2.Пакетное чтение— провайдер поддерживает запросы к нескольким объектам за один вызов. 3.Используйте события— подпишитесь на определенные события в своих модулях Move. 4.Тестируйте в локальной сети— с помощью интерфейса командной строки можно запустить локальную сеть для интеграционного тестирования. ✅ Теперь вы можете: Подключитесь к Sui с помощью JavaScript/TypeScript. Балансы запросов и объекты. Отправляйте SUI и программно вызывайте функции Move.
- Sui
- SDKs and Developer Tools
0Жизненный цикл сделки Sui: история двух путей
Волшебство невероятной скорости и низких задержек Sui заключается в уникальном подходе к обработке транзакций. В отличие от традиционных блокчейнов, где каждое действие помещается в одну медленную очередь, Sui интеллектуально анализирует каждую транзакцию и отправляет ее по одному из двух разных путей. Это раздвоение является ключом к возможностям параллельного выполнения. Понимание этой «истории о двух путях» — молниеносного способа выполнения простых транзакций и подхода к сложным транзакциям, основанного на консенсусе, — крайне важно для понимания того, как компания Sui добивается выдающихся результатов. Основная проблема: узкое место при размещении тотальных заказов Большинство блокчейнов работают по принципу полного упорядочения. Они рассматривают блокчейн как единую государственную машину, воспроизводимую по всему миру. Для обеспечения согласованности каждую транзакцию необходимо размещать в определенном последовательном порядке, согласованном всеми узлами. Это похоже на однополосное шоссе: каждый автомобиль должен следовать по движущемуся впереди транспортному средству, независимо от места назначения. У этой модели есть существенный недостаток: она создает искусственное «узкое место». Если вы просто передаете актив другу, ваша транзакция вынуждена ждать завершения не связанной с этим сложной сделки DeFi, требующей значительных вычислений. Это неэффективно и не нужно. Подавляющее большинство блокчейн-транзакций не мешают друг другу. Именно для решения этой проблемы была специально разработана модель обработки транзакций Суи. Фундаментальный сдвиг: причинно-следственный порядок, а не полный порядок Sui представляет более тонкую модель, основанную на причинном порядке. Этот принцип гласит, что только транзакции, которые связаны причинно-следственной связью, то есть затрагивают один и тот же фрагмент общих данных, необходимо упорядочивать относительно друг друга. Независимые транзакции можно обрабатывать и завершать в любом порядке или даже одновременно (параллельно). Представьте себе многополосную автомагистраль. Автомобили, движущиеся по разным полосам движения, могут двигаться со своей скоростью и свободно обгонять друг друга, потому что они не конкурируют за одно и то же место. Только когда две машины хотят выехать на одну полосу движения, они должны согласовать свой заказ. В этом суть обработки транзакций Суи. Жизненный цикл сделки Sui: от подачи заявки до завершения Давайте проследим за транзакцией с момента ее подписания пользователем до момента ее безвозвратного подтверждения в бухгалтерской книге. Шаг 1. Создание и отправка транзакцииn Пользователь создает и подписывает транзакцию. Важно отметить, что в транзакции Sui явно указываются входные данные. Эти входные данные представляют собой конкретные объекты в блокчейне, которые транзакция будет считывать, изменять или передавать. Например, в транзакции по отправке токена в качестве входных данных будут указаны конкретные отправляемые объекты Coin. Это четкое определение зависимостей позволяет сети выполнить первоначальную критическую сортировку. Шаг 2: развилка на пути— анализ объектов Когда транзакция отправляется в сеть, валидаторы не сразу пытаются поместить ее в очередь на основе консенсуса. Их первая задача — проверить входные данные. Они задают один простой вопрос: • Затрагиваются ли в этой сделке исключительно «объекты, находящиеся в собственности» (объекты, принадлежащие единственному единственному владельцу)? • Или речь идет как минимум об одном «общем объекте» (объекте, который может быть изменен несколькими пользователями)? Ответ на этот вопрос определяет, по какому из двух путей будет осуществляться транзакция. Путь A: Быстрый путь (последовательное вещание в византийском стиле) Это многополосная супермагистраль, предназначенная для большинства транзакций. • Кто ею пользуется? Сделки, связанные только с находящимися в собственности объектами. Сюда входят: • Одноранговые платежи (отправка SUI или других токенов). • Создание нового NFT. • Передача NFT другому пользователю. • Использование принадлежащего вам предмета в игре. • Как это работает: • Клиент пользователя транслирует подписанную транзакцию непосредственно всем валидаторам Sui. • Каждый валидатор самостоятельно проверяет достоверность транзакции (например, «Действительно ли отправитель владеет этими входными объектами?»). • Если это действительно так, каждый валидатор подписывает результат транзакции собственным закрытым ключом и отправляет эту подпись обратно клиенту. • Клиент ожидает сбора подписей от кворума валидаторов (подавляющее большинство, составляющее две трети от общей суммы акций). • Получив эту коллекцию подписей, клиент объединяет их в сертификат о действии. Этот сертификат является окончательным безотзывным доказательством исполнения транзакции. • Затем клиент передает этот сертификат валидаторам для записи. • Почему все происходит так быстро: этот процесс полностью обходит протокол консенсуса. Нет необходимости приказывать эту транзакцию другим, потому что она не зависит от внешних зависимостей. Задержка ограничена только временем передачи данных по сети в оба конца, что позволяет завершить обработку за доли секунды. Путь Б: путь консенсуса (Narwhal и Bullshark) Этот путь представляет собой путь слияния, предназначенный для транзакций, требующих тщательной координации. • Кто им пользуется? Любая транзакция, связанная с чтением или записью в общий объект. Сюда входят: • Внесение средств в пул ликвидности DeFi или вывод средств из него. • Торги на предмет в рамках контракта на публичный аукцион. • Голосование в DAO. • Взаимодействие с любым объектом, у которого нет единственного эксклюзивного владельца. • Как это работает: • Транзакция отправляется в протокол Sui Mempool Narwhal. • Работа Narwhal заключается в обеспечении доступности данных. Она принимает транзакцию, объединяет ее с другими в пакет и надежно передает этот пакет всем валидаторам, формируя направленный ациклический граф (DAG) зависимостей. • Затем эта база данных, состоящая из пакетов, передается в консенсусный протокол Bullshark. • Задача Bullshark заключается в том, чтобы установить окончательный и полный порядок этих пакетов транзакций. Это эффективно достигается за счет использования структуры DAG, что снижает издержки связи по сравнению с традиционными алгоритмами консенсуса. • Как только транзакция упорядочена на основе консенсуса, она выполняется всеми валидаторами, а результаты заносятся в реестр Sui. Вывод: интеллектуальный дизайн, обеспечивающий непревзойденную производительность «Повесть о двух путях» Суи — это история инженерного прагматизма. Она признает, что рассматривать каждую транзакцию на основе одинакового уровня безопасности и медленного достижения консенсуса расточительно и неэффективно. Создав экспресс-канал для выполнения подавляющего большинства простых и независимых действий, компания Sui значительно улучшает время ожидания и удобство работы пользователей. Усовершенствованный механизм консенсуса в Narwhal и Bullshark компания оставляет за собой только те моменты, когда это действительно необходимо — когда совместное государство требует тщательных и упорядоченных переговоров. Интеллектуальная сортировка транзакций в самом начале жизненного цикла транзакций является архитектурным секретом, который позволяет компании Sui реализовать свои обещания по созданию горизонтально масштабируемого блокчейна, отвечающего требованиям современного Интернета.
- Transaction Processing
0Первые шаги на Sui: практическое руководство по Sui SDK и основным инструментам для разработчиков
Для процветания любого блокчейна необходимо процветающее сообщество разработчиков. Это, в свою очередь, зависит от мощных, интуитивно понятных и хорошо документированных инструментов для разработчиков. Экосистема Sui предоставляет полный набор инструментов на основе пакета Sui Software Development Kit (SDK), предназначенный для оптимизации всего жизненного цикла разработки, начиная с написания первой строки кода Move и заканчивая развертыванием децентрализованного приложения и взаимодействием с ним. Это руководство послужит для начинающих разработчиков Sui пошаговым введением, позволяющим развеять мифы о первоначальной настройке и базовом рабочем процессе. Проблема: пугающий чистый лист новой экосистемы Погружение в новую блокчейн-экосистему может оказаться непростой задачей. С чего начать? Что вам нужно установить? Как компилировать, развертывать и тестировать код? Без четкой дорожной карты многие потенциальные разработчики застревают на этапе настройки и не могут перейти к творческому процессу разработки. Sui SDK призван решить эту проблему, предоставляя единый целостный интерфейс командной строки (CLI) и набор библиотек, которые служат вашим основным набором инструментов. Шаг 1. Настройка среды разработки Прежде чем приступить к сборке, вам необходимо заложить основу. Это включает в себя установку необходимых предварительных условий и самих двоичных файлов Sui. Предварительные требования: набор инструментов Sui написан на языке Rust, поэтому вам понадобятся язык программирования Rust и менеджер пакетов Cargo. Вам также понадобятся другие распространенные утилиты разработки, такие как curl, git и cmake. • Для пользователей macOS/Linux: процесс прост. Сначала установите набор инструментов Rust, выполнив в терминале следующую команду: Bash curl --proto '=https' --tlsv1.2 -SSF https://sh.rustup.rs | sh • Установите другие зависимости: в Ubuntu вы должны запустить: Bash sudo apt-get update sudo apt-get install -y cmake git curl Аналогичные команды существуют для других дистрибутивов Linux и macOS (использующих Homebrew). Установка двоичных файлов Sui. Теперь при наличии необходимых условий вы можете установить самую последнюю версию двоичных файлов Sui непосредственно из исходного кода. • Клонируйте репозиторий Sui: Bash клон гита https://github.com/MystenLabs/sui.git • Перейдите в каталог и выберите нужную ветку (например, devnet): Bash мероприятие по оформлению заказа подарочного костюма • Скомпилируйте двоичные файлы с помощью Cargo: Bash сборка груза --релиз Этот процесс может занять некоторое время, так как он компилирует весь узел Sui, клиент и сопутствующие инструменты. После завершения ваш исполняемый файл sui будет расположен в каталоге target/release/. Рекомендуется добавить этот каталог в системный PATH для упрощения доступа. Шаг 2. Инициализация клиента Sui и вашего первого кошелька Теперь команда sui доступна, и следующим шагом будет настройка локального клиента, который будет управлять вашими ключами и подключением к сетям Sui. • Инициализируйте клиент Sui: выполните команду: Bash для клиентов При первом запуске программа проведет вас через процесс настройки. Он спросит, к какому серверу RPC вы хотите подключиться. Для разработки лучше всего выбрать Sui Devnet. Он также сгенерирует для вас новую пару ключей и адрес кошелька Sui, а хранилище ключей будет надежно сохранено на вашем локальном компьютере. • Переключение сетей: вы можете легко управлять подключениями к различным сетям (локальным сетям, сетям devnet, testnet, mainnet) с помощью команды: Bash на клиентском коммутаторе --env • Получение тестового SUI: для развертывания контрактов и оплаты транзакций в devnet или testnet вам понадобятся тестовые токены SUI. В большинстве сетей есть общедоступный кран. Клиент Sui интегрирует это напрямую: Bash подходящий для клиента кран Эта команда запросит средства из крана devnet и отправит их на ваш адрес по умолчанию. Вы можете проверить свой баланс с помощью соответствующего клиентского газа. Шаг 3. Создание, сборка и публикация пакета Move Теперь перейдем к самой интересной части: созданию и развертыванию смарт-контракта. В Sui смарт-контракты организованы в пакеты Move. • Создайте новый пакет: SDK предоставляет удобную команду для начальной загрузки новой структуры проекта. Bash пожалуйста, переместите новый my_first_package При этом создается каталог с именем my_first_package с подкаталогом sources и файлом конфигурации Move.toml. • Напишите простой модуль перемещения: в my_first_package/sources создайте файл с именем my_module.move. Давайте создадим простой объект, который можно будет отчеканить. Фрагмент кода модуль my_first_package: :my_module {используйте sui: :object:: {Self, UID}; используйте sui: :transfer; используйте sui: :tx_context:: {Self, TxContext};///Простой объект, содержащий магическое число. В структуре MagicObject есть ключ, хранилище {id: UID, magic_number: u64}///Входная функция для создания нового MagicObject Object. публичная запись забавная монета (magic_number: u64, ctx: &mut TxContext) {let new_object = MagicObject {id: object: :new (ctx), magic_number: magic_number};//Передайте только что созданный объект отправителю транзакции. transfer: :transfer (new_object, tx_context: :sender (ctx));}} • Соберите пакет: перед развертыванием необходимо скомпилировать код Move в байт-код и выполнить несколько статических проверок. Bash сборка костюма Если ошибок нет, вы увидите сообщение об успешном завершении. Скомпилированные артефакты будут помещены в каталог сборки. • Публикация в Devnet: публикация делает ваш код доступным в блокчейне. Это реальная транзакция, которая будет стоить денег (поэтому мы сразу же получили тестовый SUI). Bash пожалуйста, опубликуйте бюджет на газ 10000 000 долларов В случае успеха командная строка выведет список созданных объектов, включая идентификатор вашего пакета. Этот идентификатор представляет собой адрес развернутого смарт-контракта. Шаг 4. Взаимодействие с развернутым контрактом Теперь ваш контракт доступен на devnet. Вы можете взаимодействовать с ним с помощью команды sui client call. • Вызовите функцию mint: Bash звоните клиенту\ --package\ --module\ --function mint\ --args 42\ --газовый бюджет 10000000 Замените его идентификатором, указанным на этапе публикации. Эта транзакция вызывает функцию mint, создает объект MagicObject с номером 42 и переносит его на ваш адрес. • Осмотрите свои объекты: чтобы увидеть новый объект, которым вы владеете, вы можете использовать веб-интерфейс Sui Explorer или интерфейс командной строки: Bash соответствующие клиентским объектам Здесь будут перечислены все объекты, принадлежащие вашему адресу, и вы увидите только что выпущенный MagicObject с уникальным идентификатором объекта. Вывод: мощный и целостный набор инструментов В этом пошаговом руководстве описываются основные принципы работы разработчиков на Sui: настройка, управление ключами, создание контрактов, развертывание и взаимодействие. Sui SDK действует как унифицированная панель управления, значительно снижая входной барьер. Хотя мы сосредоточились на интерфейсе командной строки, экосистема также включает мощные пакеты SDK TypeScript/Rust для интеграции с интерфейсом, визуальный Sui Explorer для проверки данных в блокчейне и кошелек Sui Wallet для взаимодействия с пользователями. Освоив эти основные инструменты, разработчики смогут выйти за рамки «привет, мир» и приступить к созданию многофункциональных, масштабируемых и динамичных приложений, реализованных в архитектуре Sui.
- SDKs and Developer Tools
0Как оценить стоимость газа для транзакции SUI
Я пытаюсь отправить простую транзакцию sui в сети sui с помощью java-скрипта, пытаюсь отправить весь баланс sui в кошельке A на кошелек B, не анализируя фиксированную сумму вручную, и я знаю, что для выполнения транзакции мне придется заплатить комиссию за газ. Мой вопрос заключается в том, как оценить стоимость транзакции за газ, чтобы ее можно было вычесть из общей суммы денег в кошельке, а затем проанализировать стоимость транзакции.
- Sui
- SDKs and Developer Tools
- Transaction Processing
00