Publicación
Comparte tu conocimiento.
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
Respuestas
2De hecho, lo descubrí usandosui client ptb
:sui client ptb --move-call 0x2::transfer::public_freeze_object "<0x7a7e054896810bbbe031041ee131137c417fdf8320ba40ec47203e1ab4b8f7e1::example::Sword>" @0xbcb2c3c6b0f67828fce9702115b914414df767a35c8a541413787d0a1e66682e
, al menos en la red de prueba. Solo necesita el tipo correcto para la llamada, aunque no estoy seguro de si key
hace que implemente un rasgo específico.
Es posible llamar a funciones públicas desde paquetes de marco de Sui a través de la CLI de Sui, pero con algunas limitaciones. Por ejemplo, el acceso directo a ciertos módulos del sistema, como 0x2, aún no es totalmente compatible. Una solución habitual es publicar un paquete personalizado que contenga la función deseada, por ejemplopublic_freeze_object
, permitiéndote llamarla con tu ID de objeto como parámetro. Esto proporciona más flexibilidad. ¡No dudes en contactarnos si necesitas ayuda para crear este paquete de envoltorios!
Sabes la respuesta?
Inicie sesión y compártalo.
Move is an executable bytecode language used to implement custom transactions and smart contracts.