Move.

Допис

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

kryptoschain.
Feb 14, 2025
Питання та відповіді експертів

How to call `public fun`s from Sui framework using CLI?

Hey folks, I'm trying to call public functions from the Sui framework using the Sui CLI. For instance, if someone transfers an object to me and I don't want it, how can I freeze it? I thought about using sui client call, but I'm having trouble with the module identifier. Is publishing a wrapper package the only way, or is there a CLI command I'm missing?

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

Відповіді

2
Mister_CocaCola.
Feb 17 2025, 15:37

Я насправді зрозумів це, використовуючиsui client ptb:sui client ptb --move-call 0x2::transfer::public_freeze_object "<0x7a7e054896810bbbe031041ee131137c417fdf8320ba40ec47203e1ab4b8f7e1::example::Sword>" @0xbcb2c3c6b0f67828fce9702115b914414df767a35c8a541413787d0a1e66682e, принаймні в тестовій мережі. Вам просто потрібен правильний тип для дзвінка, хоча я не впевнений, чи зму keyшує він реалізувати певну рису.

2
Найкраща відповідь
Коментарі
.
tomek.
Feb 17 2025, 15:37

Можна викликати публічні функції з пакетів фреймворків Sui через Sui CLI, але з деякими обмеженнями. Наприклад, доступ до певних системних модулів, таких як 0x2 безпосередньо, ще не повністю підтримується. Поширеним варіантом вирішення є публікація користувацького пакета, який обертає потрібну функціюpublic_freeze_object, наприклад, дозволяючи викликати її з вашим ідентифікатором об'єкта як параметром. Це дає більшу гнучкість. Не соромтеся звертатися, якщо вам потрібна допомога у створенні цього пакета обгортки!

1
Коментарі
.

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

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

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

270Пости616Відповіді
Sui.X.Peera.

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

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