Publication
Partagez vos connaissances.
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
Réponses
2Bien 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.
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.
Connaissez-vous la réponse ?
Veuillez vous connecter et la partager.