Move.

Publication

Partagez vos connaissances.

yhant3.
Apr 07, 2025
Questions et Réponses avec des Experts

Comment s'assurer que seul le propriétaire d'un NFT peut le transférer dans un contrat ?

Salut tout le monde ! Je travaille à la mise en œuvre d'un contrat NFT et je souhaite m'assurer que seul le propriétaire légitime du NFT peut le transférer. J'ai cette fonction pour transférer :

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

Cette vérification est-elle effectuée dans le cadre public_transferde la méthode ou dois-je ajouter une logique supplémentaire ?

  • Move CLI
0
3
Partager
Commentaires
.

Réponses

3
kryptoschain.
Apr 7 2025, 20:34

Pour clarifier davantage, ce n'est pas spécifiquement la vérification de la propriété public_transferqui vérifie la propriété, mais plutôt la sémantique des transactions Sui. Pour qu'une transaction accepte un objet en entrée, vous devez en être le propriétaire, c'est-à-dire que l'adresse de l'expéditeur doit correspondre à l'adresse du propriétaire de l'objet. Les objets partagés considèrent toutefois tout le monde comme un « propriétaire » aux fins des transactions.

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

CheckWitheGoAvant le transfert d'un NFT, la public_transferfonction vérifie si l'expéditeur détient le NFT. Ainsi, la logique est bel et bien intégrée à la public_transferméthode.

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

En fait, vous n'avez pas besoin de cette fonction car vous pouvez appeler directement tx.transferObjectsdepuis un PTB.

0
Commentaires
.

Connaissez-vous la réponse ?

Veuillez vous connecter et la partager.

Nous utilisons des cookies pour vous assurer la meilleure expérience sur notre site Web.
Plus d'infos