Move.

Publication

Partagez vos connaissances.

Dominikus .
Jan 12, 2025
Questions et Réponses avec des Experts

How to fetch objects by ID in a Sui smart contract?

I've been working on a Sui smart contract and want to understand how to fetch an object by its ID from within the smart contract itself. From what I've gathered, it seems like smart contracts on Sui don't have the direct capability like in Ethereum's Solidity to access storage and retrieve objects by their IDs. I'm looking for some guidance on whether this is possible directly within the smart contract or if I need to approach it differently.

  • Move CLI
  • Move
1
2
Partager
Commentaires
.

Réponses

2
Theoremus.
Jan 12 2025, 15:19

Bien que les contrats intelligents Sui ne puissent pas accéder directement aux objets par identifiant dans le contrat, vous pouvez contourner ce problème en utilisant des bibliothèques côté client pour récupérer les données nécessaires dans la blockchain, puis les fournir en tant qu'entrée aux fonctions des contrats intelligents. Cela implique d'utiliser l'API ou le SDK de Sui pour interagir avec la blockchain et récupérer les objets nécessaires avant d'invoquer le contrat intelligent. Pour faire face à de tels scénarios, les développeurs utilisent généralement le client Sui ou des API associées pour interagir avec la blockchain en externe. Ces outils peuvent interroger des objets sur la base d'identifiants, puis faciliter la transmission de ces objets dans les fonctions du contrat intelligent en tant qu'entrées requises.

1
Meilleure réponse
Commentaires
.
Ramirez.
Jan 12 2025, 23:21

Malheureusement, dans le cadre d'un contrat intelligent Sui, il n'est pas possible de récupérer directement un objet en utilisant uniquement son identifiant. En effet, les contrats intelligents sur Sui n'ont pas d'accès direct au stockage mondial comme le font les contrats intelligents Ethereum. Sur Sui, vous devez récupérer l'objet depuis un système externe, tel qu'une application côté client, puis le transmettre en tant qu'argument à une méthode de contrat intelligent.

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