Move.

Допис

Діліться своїми знаннями.

Dominikus .
Mar 15, 2025
Питання та відповіді експертів

How to ensure secure module object access and mutation?

I developed a module with a DonutShop containing a Balance. I want to share this module without risking unauthorized manipulation of Balance. Can other modules directly alter the Balance if I only use getters/setters within the module?

  • Move CLI
1
1
Поділитися
Коментарі
.

Відповіді

1
Bolke .
Mar 16 2025, 01:49

Правильно. Об'єкт може бути змінений лише функцією, яка існує в тому ж модулі, де був створений об'єкт. Однак просто мати геттери та сеттери в одному модулі недостатньо, щоб повністю захистити стан об'єкта. Ви також повинні реалізувати механізми обмеження доступу до цих функцій. Одним із поширених підходів є використання шаблону AdminCap, який передбачає створення системи контролю доступу на основі можливостей. Це гарантує, що тільки уповноважені особи можуть викликати певні функції, тим самим запобігаючи несанкціонованим маніпуляціям стану об'єкта. Перегляньте шаблон AdminCap для отримання додаткової інформації.

1
Коментарі
.

Ви знаєте відповідь?

Будь ласка, увійдіть та поділіться нею.

Move is an executable bytecode language used to implement custom transactions and smart contracts.

148Пости231Відповіді
Sui.X.Peera.

Зароби свою частку з 1000 Sui

Заробляй бали репутації та отримуй винагороди за допомогу в розвитку спільноти Sui.

Кампанія винагородТравень
Ми використовуємо файли cookie, щоб гарантувати вам найкращий досвід на нашому сайті.
Детальніше