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.

Move is an executable bytecode language used to implement custom transactions and smart contracts.

148Publications231Réponses
Sui.X.Peera.

Gagne ta part de 1000 Sui

Gagne des points de réputation et obtiens des récompenses pour avoir aidé la communauté Sui à se développer.

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