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 ?