Move.

Beitrag

Teile dein Wissen.

yhant3.
Apr 07, 2025
Experten Q&A

Wie kann sichergestellt werden, dass nur NFT-Besitzer es in einem Vertrag übertragen können?

Hallo zusammen! Ich arbeite an der Umsetzung eines NFT-Vertrags und möchte sicherstellen, dass nur der rechtmäßige Eigentümer des NFT ihn übertragen kann. Ich habe diese Funktion zum Übertragen von:

public fun transfer(
    nft: DevNetNFT, recipient: address, _: &mut TxContext
) {
    transfer::public_transfer(nft, recipient)
}

Wird diese Überprüfung innerhalb der public_transferMethode durchgeführt, oder muss ich zusätzliche Logik hinzufügen?

  • Move CLI
0
3
Teilen
Kommentare
.

Antworten

3
kryptoschain.
Apr 7 2025, 20:34

Zur weiteren Verdeutlichung: Es ist nicht speziell public_transferdie Überprüfung des Eigentums, sondern die Semantik der Sui-Transaktion. Damit eine Transaktion ein Objekt als Eingabe akzeptiert, müssen Sie Eigentümer sein. Das heißt, die Adresse des Absenders muss mit der Eigentümeradresse auf dem Objekt übereinstimmen. Bei gemeinsam genutzten Objekten wird bei Transaktionen jedoch jeder als „Eigentümer“ behandelt.

0
Kommentare
.
deriss.
Apr 7 2025, 20:36

checkwithegorVor der Übertragung einer NFT public_transferprüft die Funktion, ob der Absender die NFT besitzt. public_transferSomit ist die Logik tatsächlich in die Methode eingebaut.

0
Kommentare
.
DuAn.
Apr 7 2025, 21:52

Sie benötigen diese Funktion eigentlich nicht, da Sie sie direkt tx.transferObjectsin einer PTB aufrufen können.

0
Kommentare
.

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.

148Beiträge231Antworten
Sui.X.Peera.

Verdiene deinen Anteil an 1000 Sui

Sammle Reputationspunkte und erhalte Belohnungen für deine Hilfe beim Wachstum der Sui-Community.

Wir verwenden Cookies, um sicherzustellen, dass Sie die beste Erfahrung auf unserer Website haben.
Mehr Infos