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
0
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шує він реалізувати певну рису.

1
Коментарі
.
tomek.
Feb 17 2025, 15:37

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

0
Коментарі
.

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

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

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