Допис
Діліться своїми знаннями.
Єдиний спосіб опублікувати пакети Move через EOA?
Я припускаю, що в ланцюжку Sui немає способу, оскільки в ланцюжку немає модуля, який публікує пакети.
- Sui
- SDKs and Developer Tools
- Move
Відповіді
3Ні, публікація пакетів Move у мережі Sui не обмежується лише EOA. Хоча EOA зазвичай використовуються для публікації пакетів, дизайн Sui дозволяє іншим суб'єктам, таким як смарт-контракти або модулі, ініціювати публікацію пакетів за певних умов. Однак поточна реалізація зазвичай вимагає від EOA підписати та надіслати транзакцію, оскільки немає ланцюгового модуля, який автономно обробляє публікацію пакетів. Це забезпечує підзвітність та безпеку, зберігаючи гнучкість для розробників.
Ні, публікація пакетів Move на Sui не обмежується зовнішніми обліковими записами (EOA), але кожна операція публікації пакетів повинна бути ініційована транзакцією, підписаною обліковим записом з достатніми дозволами та газом. На Sui це зазвичай робиться через Sui CLI, який використовує приватний ключ облікового запису (зазвичай EOA) для підписання та подання транзакції, яка публікує пакет.
Дійсно, немає мережевого модуля, який виконує роль «видавця пакетів» для інших; протокол Sui вимагає від видавця пакета підписати та подати транзакцію публікації самостійно. Це означає:
- Ви не можете делегувати публікацію пакетів смарт-контракту або ланцюговому модулю - немає власного механізму для публікації нового пакету від вашого імені.
- Процес завжди ініціюється обліковим записом (EOA або потенційно multi-sig або іншою схемою управління ключами), але не іншим он-ланцюговим модулем.
Робочий процес такий:
- Ви компілюєте пакет Move локально.
- Ви використовуєте Sui CLI (
sui client publish ...
) для подання транзакції, підписаної вашим обліковим записом, для публікації пакету в мережі. - Після публікації пакет залишається незмінним, якщо ви не збережете та не використовуєте його
UpgradeCap
для майбутніх оновлень [8].
Підсумовуючи: на Sui пакети Move завжди публікуються через транзакцію, підписану обліковим записом (EOA або еквівалентом), а не за допомогою модуля в мережі. Немає ланцюгового модуля, який може публікувати пакети для вас.
Немає мережевого модуля або смарт-контракту, який може розгорнути пакет від імені іншої адреси. Це пов'язано з тим, що:
Публікація пакета переміщення — це спеціальний тип транзакції на Sui (MoveModulePublish), який: • Вимагає підписання EOA • Безпосередньо завантажує та компілює вихідний код.move в ланцюжку • Створює незмінний об'єкт «Пакет»
У ланцюжку немає загальної функції publish (). На відміну від контрактів, які розгортають контракти (наприклад, заводський шаблон на Ethereum), у Sui виконання 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