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

Как опубликовать необработанный байт-код в SUI Localnet
Развертывание смарт-контрактов в блокчейне SUI обычно включает компиляцию кода Move в байт-код и его публикацию в сети. Хотя интерфейс командной строки SUI позволяет автоматизировать большую часть этого процесса, разработчики иногда обращаются за рекомендациями по ручной обработке необработанного байт-кода, особенно в локальных средах тестирования, таких какLocalnet. В этой статье описаны шаги по публикации необработанного байт-кода в SUI Localnet с использованием интерфейса командной строки SUI и инструментов разработки.
Предварительные требования к локальной сети SUI
Прежде чем приступить к развертыванию, убедитесь, что у вас есть следующее:
sui
Установлен интерфейс командной строки: следуйте официальному руководству по установке, чтобы настроить средство командной строки. 2.Запуск в локальной сети: используйтеsui-test-validator
двоичный файл для запуска локальной сети SUI для тестирования (https://docs.sui.io/). 3.Move Package: функциональный пакет Move с настроенными модулями и зависимостями.
Что такое SUI Localnet
SUI Localnet — это изолированная среда для тестирования смарт-контрактов без риска для реальных активов. Она позволяет разработчикам моделировать взаимодействие, отлаживать логику и проверять развертывание перед переходом на Devnet или Mainnet. Чтобы запустить Localnet, запустите следующую команду:
sui-test-validator
Это инициализирует локальный узел валидатора, предоставляя новую тестовую площадку с предварительно профинансированными счетами (https://docs.sui.io/)(https://scaf.gitbook.io/scaf/).
Как подготовить пакет переезда?
Пакет Move состоит из исходного кода (sources/
), зависимостей (deps/
) и артефактов сборки (build/
). Чтобы скомпилировать необработанный байт-код, сосредоточьтесь на build
директории, содержащей .mv
файлы — скомпилированном байт-коде Move.
1.Создайте пакет:
sui client build <package_path>
<package_path>
Замените на каталог, в котором находится ваш Move.toml
файл. build/
Это создаст байт-код в папке.
2.Найдите байт-код:
Перейдите к build/<package_name>/bytecode/
поиску .mv
файлов для каждого модуля. Они представляют собой необработанный байт-код, который будет опубликован.
Публикация необработанного байт-кода в Localnet
sui client publish
Хотя интерфейс командной строки SUI абстрагирует управление байт-кодом, вы можете вручную опубликовать необработанный байт-код с помощью этой команды. Эта команда принимает готовый байт-код вместо повторной компиляции пакета.
Пошаговое руководство
1.Запустите локальную сеть: Убедитесь, что локальный валидатор запущен:
sui-test-validator
2.Опубликовать байт-код:
Используйте publish
команду с --bytecode
флагом, чтобы указать каталог необработанного байт-кода:
sui client publish --bytecode <bytecode_path>
<bytecode_path>
Замените на путь к build/<package_name>/bytecode/
каталогу.
Пример:
sui client publish --bytecode ./build/my_package/bytecode/
Интерфейс командной строки отправит байт-код в Localnet, создав новый объект пакета в цепочке (https://thelib.to/move-book)(https://sui.io/).
3.Проверьте развертывание: Проверьте сведения о транзакции в выходных данных интерфейса командной строки. Используйте обозреватель SUI (если он доступен для Localnet) или запросите пакет следующим образом:
sui client get-package <package_id>
Типичная ошибка с интерфейсом командной строки Sui
1.Несовпадения версий CLI
Если интерфейс командной строки не распознает команды, обновите его, используя метод, рекомендованный для вашей ОС. Избегайте обновлений вручную, cargo
чтобы предотвратить конфликты зависимостей (https://discord.gg/sui).
2.Ошибки пути в байт-коде
--bytecode
Убедитесь, что .mv
флаг указывает непосредственно на каталог, содержащий файлы. Неправильные пути приведут к ошибкам компиляции.
3.Сбои подключения к локальной сети
Убедитесь, что интерфейс командной строки sui-test-validator
активен и что конфигурация интерфейса командной строки указывает на Localnet. Используйте:
sui client envs
для проверки активной среды (https://docs.sui.io/).
Заключение
publish``--bytecode
Публикация необработанного байт-кода в SUI Localnet — это базовый процесс при использовании команды SUI CLI с флагом. Используя изолированную среду Localnet, разработчики могут итеративно тестировать контракты без затрат и рисков. Хотя ручное манипулирование байт-кодом возможно, при разработке платформы приоритет отдается автоматизации, что обеспечивает надежность и простоту в большинстве случаев использования.
- Sui
- SDKs and Developer Tools
- Move
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
Заработай свою долю из 1000 Sui
Зарабатывай очки репутации и получай награды за помощь в развитии сообщества Sui.
- Почему BCS требует точного порядка полей для десериализации, когда структуры Move содержат именованные поля?53
- «Ошибки проверки нескольких источников» в публикациях модуля Sui Move — автоматическое устранение ошибок43
- Сбой транзакции Sui: объекты, зарезервированные для другой транзакции25
- Как ограничения возможностей взаимодействуют с динамическими полями в гетерогенных коллекциях?05