Пост
Поделитесь своими знаниями.
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На самом деле я понял это, используяsui client ptb
: sui client ptb --move-call 0x2::transfer::public_freeze_object "<0x7a7e054896810bbbe031041ee131137c417fdf8320ba40ec47203e1ab4b8f7e1::example::Sword>" @0xbcb2c3c6b0f67828fce9702115b914414df767a35c8a541413787d0a1e66682e
по крайней мере, в тестовой сети. Вам просто нужен правильный тип вызова, хотя я не уверен, что key
он позволяет реализовать определенную черту.
Можно вызывать публичные функции из пакетов фреймворка Sui через интерфейс командной строки Sui, но с некоторыми ограничениями. Например, прямой доступ к некоторым системным модулям, таким как 0x2, пока не полностью поддерживается. Обычный обходной путь — опубликовать собственный пакет, содержащий нужную функциюpublic_freeze_object
, например, позволяющую вызвать ее, указав в качестве параметра идентификатор объекта. Это обеспечивает большую гибкость. Не стесняйтесь обращаться к нам, если вам нужна помощь в создании этого пакета-обертки!
Знаете ответ?
Пожалуйста, войдите в систему и поделитесь им.
Move is an executable bytecode language used to implement custom transactions and smart contracts.