Comment obtenir les métadonnées d'un NFT spécifique
Qu'est-ce que les métadonnées NFT ?
Les métadonnées NFT sont l'ensemble des informations descriptives stockées hors chaîne qui détaillent les attributs, propriétés et contenus supplémentaires associés à un NFT. Ces détails peuvent être une URL d'image, son nom, sa description et des attributs liés à son unicité et à sa propriété.
Comment le faire avec Moralis
Moralis dispose d'une API NFT que vous pouvez utiliser, et ils fournissent même un exemple de code pour le cas d'utilisation de l'historique du portefeuille :
Pour adapter leur exemple de code, remplacez la référence à Ethereum par leur ID pour Chiliz Chain, 0x15b38:
import Moralis from 'moralis';
try {
await Moralis.start({
apiKey : "VOTRE_CLE_API"
});
const response = await Moralis.EvmApi.nft.getNFTMetadata({
"chain": "0x15b38", // C'est pour Chiliz Chain Mainnet.
// Pour Spicy Testnet, utilisez "0x15b32".
"format": "decimal",
"normalizeMetadata": true,
"mediaItems": false,
"address": "0xYourNFTContractAddress",
"tokenId": "1"
});
console.log(response.raw);
} catch (e) {
console.error(e);
}Comment le faire avec Tatum
Tatum possède un sous-module NFT dans son outil d'abstraction de blockchain que nous pouvons utiliser, et ils fournissent même un exemple de code pour le cas d'utilisation de récupération des métadonnées :
Pour adapter leur exemple de code, remplacez la référence à Ethereum par Chiliz Chain :
import {TatumSDK, Network, Chiliz, ResponseDto, NftTokenDetail} from '@tatumio/tatum'
const tatum = await TatumSDK.init<Chiliz>({network: Network.CHILIZ})
const metadata: ResponseDto<NftTokenDetail|null> = await tatum.nft.getNftMetadata({
tokenAddress: '0xYourNFTContractAddress', // remplacez par votre collection
tokenId: '1'
})
console.log(metadata.data)Comment le faire avec thirdweb
thirdweb, nous pouvons nous inspirer du code source hébergé sur leur site de documentation :
Voici comment nous pourrions adapter cela en code pour récupérer les métadonnées :
const { ThirdwebSDK } = require("@thirdweb-dev/sdk");
const sdk = new ThirdwebSDK("https://rpc.chiliz.com");
const nftContractAddress = "0xYourNFTContractAddress";
const tokenId = "YourTokenID";
async function getNFTMetadata() {
try {
const nftContract = await sdk.getNFTCollection(nftContractAddress);
const nftMetadata = await nftContract.get(tokenId);
console.log(`Metadata of NFT ${tokenId}:`, nftMetadata);
} catch (error) {
console.error("Error fetching NFT metadata:", error);
}
}
getNFTMetadata();Comment le faire avec Nodit
Nodit fournit l'exemple de code suivant dans leur doc:
const url = 'https://web3.nodit.io/v1/chiliz/mainnet/nft/getNftMetadataByTokenIds';
const options = {
method: 'POST',
headers: {
accept: 'application/json',
'content-type': 'application/json',
'X-API-KEY': 'nodit-demo'
},
body: JSON.stringify({
tokens: [
{contractAddress: '0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D', tokenId: '1'},
{contractAddress: '0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D', tokenId: '2'}
]
})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));Mis à jour
Ce contenu vous a-t-il été utile ?