Move.

Publication

Partagez vos connaissances.

Tawhid.
Mar 26, 2025
Questions et Réponses avec des Experts

How to ensure a smart contract doesn't resend a capability?

I'm working on a smart contract and I want to ensure that it doesn't send a capability if the user already owns one. This is to avoid unwanted transactions. I am thinking about using an SDK to check all objects a user holds and perhaps using a sui::table::Table to keep a list of minted capabilities. Is this the right approach, or is there a better way to confirm if an address holds a certain object on-chain?

  • Move CLI
  • Move
0
3
Partager
Commentaires
.

Réponses

3
dudley_smith.
Mar 27 2025, 07:47

Une suggestion pour votre cas d'utilisation est de conserver une liste des adresses dont une fonctionnalité a été créée dans un objet partagé. Vous pouvez gérer les restrictions de taille des objets à l'aide desui::table::Table, ce qui vous permet de gérer efficacement une liste/une carte.

2
Meilleure réponse
Commentaires
.
cod.
cod95
Mar 27 2025, 02:05

Vous pouvez essayer d'utiliser le SDK pour vérifier tous les objets qu'un utilisateur détient hors chaîne. Cela peut vous aider à valider la propriété sans affecter le flux des contrats en chaîne.

2
Commentaires
.
Grizzly.
Mar 27 2025, 05:53

Vous n'aurez peut-être pas besoin d'une vérification en chaîne pour ce cas d'utilisation. Si vous souhaitez que les utilisateurs prouvent qu'ils possèdent un objet, demandez-leur de saisir une preuve de propriété.

1
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écompensesJuillet