Пост
Поделитесь своими знаниями.
Является ли единственным способом опубликовать пакеты Move через EOA?
Я полагаю, что в цепочке Sui нет такого способа, поскольку в цепочке нет модуля, публикующего пакеты.
- Sui
- SDKs and Developer Tools
- Move
Ответы
3Нет, публикация пакетов Move в сети Sui не ограничивается EOA. Хотя EOA обычно используются для публикации пакетов, дизайн Sui позволяет другим организациям, например смарт-контрактам или модулям, инициировать публикацию пакетов при определенных условиях. Однако текущая реализация обычно требует, чтобы EOA подписывал и отправлял транзакцию, поскольку в блокчейне нет модуля, автономно обрабатывающего публикацию пакетов. Это обеспечивает подотчетность и безопасность, сохраняя при этом гибкость для разработчиков.
Нет, публикация пакетов Move на Sui не ограничивается внешними учетными записями (EOA), но каждая операция публикации пакета должна быть инициирована транзакцией, подписанной учетной записью с достаточными разрешениями и правами доступа. В Sui это обычно делается с помощью интерфейса командной строки Sui, который использует закрытый ключ учетной записи (обычно EOA) для подписания и отправки транзакции, публикующей пакет.
На самом деле не существует встроенного модуля, который мог бы выступать в роли «издателя пакетов» для других пользователей; протокол Sui требует от издателя пакета подписать и отправить транзакцию публикации самостоятельно. Это означает следующее:
- Вы не можете делегировать публикацию пакетов смарт-контракту или сетевому модулю — в контракте нет встроенного механизма публикации нового пакета от вашего имени.
- Процесс всегда инициируется учетной записью (EOA или, возможно, мультиподписью или другой схемой управления ключами), но не другим сетевым модулем.
Рабочий процесс выглядит следующим образом:
- Пакет Move вы компилируете локально.
- Вы используете интерфейс командной строки Sui (
sui client publish ...
), чтобы отправить транзакцию, подписанную вашей учетной записью, и опубликовать пакет в сети. - После публикации пакет остается неизменным, если вы не сохраните его и не будете использовать
UpgradeCap
для будущих обновлений [8].
Вкратце: в Sui пакеты Move всегда публикуются посредством транзакции, подписанной учетной записью (EOA или аналогичной учетной записью), а не сетевым модулем. Нет встроенного модуля, который мог бы публиковать пакеты за вас.
Нет встроенного модуля или смарт-контракта, которые могли бы развернуть пакет от имени другого адреса. Это связано с тем, что:
Публикация пакета Move — это специальный тип транзакции на Sui (MoveModulePublish), который: • Требуется подписание EOA • Непосредственно загружает и компилирует исходный код.move в цепочке • Создает неизменяемый объект Package
В блокчейне не существует общей функции publish (). В отличие от контрактов, предусматривающих развертывание контрактов (например, по заводской схеме в Ethereum), среда выполнения Sui the Move не рассматривает публикацию как действие, вызываемое в блокчейне. Это часть уровня протокола, а не модули уровня пользователя.
Знаете ответ?
Пожалуйста, войдите в систему и поделитесь им.
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
Заработай свою долю из 1000 Sui
Зарабатывай очки репутации и получай награды за помощь в развитии сообщества Sui.

- ... SUI0xduckmove+80
- ... SUIharry phan+47
- ... SUIdudley_smith+31
- ... SUIVens.sui+31
- ... SUI
- ... SUI
- ... SUIHaGiang+16
- Почему BCS требует точного порядка полей для десериализации, когда структуры Move содержат именованные поля?53
- «Ошибки проверки нескольких источников» в публикациях модуля Sui Move — автоматическое устранение ошибок42
- Как ограничения возможностей взаимодействуют с динамическими полями в гетерогенных коллекциях?04