Move.

Допис

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

Bolke .
Jan 17, 2025
Питання та відповіді експертів

How can I implement whitelist access in sui move?

I'm trying to set up access control in Sui Move similar to how it's done in Ethereum Solidity. In Solidity, a contract ensures that only whitelisted addresses can call certain functions. You set up a whitelist and check against msg.sender during cross-contract interactions. How can I achieve similar functionality in Sui Move with package-to-package access control?

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

Відповіді

2
yhant3.
Jan 17 2025, 23:35

У Sui Move ви можете досягти подібного контролю доступу, створивши об'єкт «WhitelistCap» для об'єктів, які повинні мати доступ. Ось як це працює:

  1. Визначте структуруWhiteListCap, яка включає поле UID.
  2. Створіть «AdminCap», необхідний для створення нових записів білого списку.
  3. Адміністратор може викликати функцію для створення WhiteListCapі перенесення її на певну адресу.
  4. Виклики функцій, які повинні бути обмежені, можуть вимагати WhiteListCapпараметра, щоб гарантувати, що лише об'єкти з білим списком можуть виконувати їх.

Однак скасування доступу в Sui Move може бути складним, оскільки адміністратор втрачає контроль над перенесен WhiteListCapим.

1
Найкраща відповідь
Коментарі
.
LargeCappWithTwo.
Jan 18 2025, 00:36

Якщо ви працюєте зі смарт-контрактами або пакетами, які можуть потребувати ітераційного оновлення, пам'ятайте, що пакети Sui Move незмінні. Переконайтеся, що ви впроваджуєте зручні для оновлення шаблони коду, як-от керування правами на рівні об'єкта, а не на рівні пакетів, і розгляньте можливість використання елементів керування доступом на основі версій.

0
Коментарі
.

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

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

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

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

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

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

Кампанія винагородЛипень