Aller au contenu principal

Référence de l'API : getObject

Récupère les détails d'un objet spécifique de la blockchain.

Classe: SuiClient Method Type: Read Operation, no gas


Signature

client.getObject(input : GetObjectParams) : Promesse<SuiObjectResponse>

Paramètres

La méthode accepte un seul objet de configuration contenant les propriétés suivantes :

ParamètreTypeObligatoireDescription
idstringOuiL'ID hexadécimal de l'objet sur 32 octets, par exemple, 0x123....
optionsSuiObjectDataOptionsNonDrapeaux de configuration pour activer des champs de données spécifiques dans la réponse. La valeur par défaut est false pour tous les champs.

SuiObjectDataOptions

Par défaut, getObject ne retourne que la référence de l'objet, en particulier son ID, sa version et son résumé. Pour récupérer les données réelles, vous devez explicitement mettre ces drapeaux à true.

OptionDescription
showTypeRetourne le type de mouvement, par exemple, 0x2::coin::Coin<SUI>.
showContentRetourne les champs de données de déplacement analysés, l'état interne de l'objet.
showOwnerRetourne l'adresse ou l'objet propriétaire de cet élément.
showDisplayRetourne les métadonnées standard d'affichage, en particulier les images et les noms, pour le rendu de l'interface utilisateur.
showStorageRebateRetourne le rabais de stockage associé à l'objet.

Valeur de retour

Retourne une Promesse qui se résout en une SuiObjectResponse. Cette réponse est une enveloppe standard qui gère à la fois les états de succès et d'erreur.

1. Réponse de succès (data)

Si l'objet existe et que l'accessibilité est maintenue, la propriété data contient SuiObjectData.

{
"data" : {
"objectId" : "0x...",
"version" : "10",
"digest" : "...",
"type" : "0x2::coin::Coin<0x2::sui::SUI>", // Présent si showType : true
"content" : { // Présent si showContent : true
"dataType" : "moveObject",
"fields" : { "balance" : "1000000000" }
},
"owner" : { // Présenté si showOwner : true
"AddressOwner" : "0xabc..."
}
}
}

2. Réponse d'erreur (error)

Si vous avez supprimé l'objet, s'il est enveloppé dans un autre objet ou s'il n'existe pas, la propriété error contient une valeur.

{
"error" : {
"code" : "notExists",
"object_id" : "0x..."
}
}

Exemples d'utilisation

Scénario A : Vérifier si un objet existe

Il s'agit de la requête la plus légère. Elle ne demande aucune donnée, seulement le code/la version.

const response = await client.getObject({
id : '0x123...'
}) ;

if (response.error) {
console.log("L'objet n'existe pas.") ;
} else {
console.log("L'objet existe à la version :", response.data.version) ;
}

Scénario B : Récupération des métadonnées des tokens non fongibles

Cette requête demande content pour lire les champs, et display pour voir l'adresse de l'image.

const nft = await client.getObject({
id : '0x123...',
options : {
showContent : true,
showDisplay : true
}
}) ;

const name = nft.data.content.fields.name ;
const imageUrl = nft.data.display.data.image_url ;

Scénario C : Vérification de la propriété

Ce scénario permet de vérifier si un utilisateur spécifique est propriétaire d'un élément.

const item = await client.getObject({
id : '0x123...',
options : { showOwner : true }
}) ;

const owner = item.data.owner ;

if (owner && owner.AddressOwner === '0xMyAddress...') {
console.log("Vous êtes propriétaire de cet élément.") ;
}

Erreurs courantes

Code d'erreurCauseRésolution
notExistsL'ID de l'objet est un hexagone valide, mais l'objet n'est pas trouvé sur le réseau.Vérifier l'ID ou s'assurer que l'objet n'a pas été supprimé lors d'une transaction précédente.
deletedL'objet existait auparavant mais il a été brûlé ou vous l'avez supprimé.Vous ne pouvez pas récupérer les données des objets supprimés.
invalid_paramL'ID de l'objet fourni n'est pas une chaîne hexagonale valide de 32 octets.Assurez-vous que l'ID commence par 0x et qu'il est de la bonne longueur.

Voir aussi

multiGetObjects : Récupère de nombreux objets en une seule requête réseau, pour le traitement par lots.

getOwnedObjects : Trouver tous les objets appartenant à une adresse spécifique.