Beitrag
Teile dein Wissen.
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
Antworten
2Ich habe das tatsächlich mitsui client ptb
: herausgefundensui client ptb --move-call 0x2::transfer::public_freeze_object "<0x7a7e054896810bbbe031041ee131137c417fdf8320ba40ec47203e1ab4b8f7e1::example::Sword>" @0xbcb2c3c6b0f67828fce9702115b914414df767a35c8a541413787d0a1e66682e
, zumindest im Testnet. Sie benötigen nur den richtigen Typ für den Anruf, obwohl ich mir nicht sicher bin, ob key
er dadurch ein bestimmtes Merkmal implementiert.
Es ist möglich, öffentliche Funktionen aus Sui-Framework-Paketen über die Sui-CLI aufzurufen, jedoch mit einigen Einschränkungen. Beispielsweise wird der direkte Zugriff auf bestimmte Systemmodule wie 0x2 noch nicht vollständig unterstützt. Eine gängige Problemumgehung besteht darin, ein benutzerdefiniertes Paket zu veröffentlichen, das die gewünschte Funktion wie umschließtpublic_freeze_object
, sodass Sie es mit Ihrer Objekt-ID als Parameter aufrufen können. Dies bietet mehr Flexibilität. Wenn Sie Hilfe bei der Erstellung dieses Wrapper-Pakets benötigen, können Sie sich gerne an uns wenden!
Weißt du die Antwort?
Bitte melde dich an und teile sie.
Move is an executable bytecode language used to implement custom transactions and smart contracts.