> For the complete documentation index, see [llms.txt](https://docs.chiliz.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.chiliz.com/vi/phat-trien/co-ban/cach-thuc/lay-metadata-nft.md).

# Lấy metadata của NFT

## Metadata NFT là gì?

Metadata NFT là tập hợp thông tin mô tả được lưu trữ ngoài chuỗi (off-chain), ghi lại các thuộc tính, đặc điểm và nội dung bổ sung liên quan đến một NFT. Những thông tin này có thể bao gồm URL hình ảnh, tên, mô tả và các thuộc tính liên quan đến tính độc đáo cũng như quyền sở hữu của NFT.

## Cách thực hiện với Moralis

Moralis cung cấp một NFT API mà bạn có thể sử dụng, kèm theo cả mẫu code cho trường hợp lấy metadata:

* [Get NFT metadata](https://docs.moralis.io/web3-data-api/evm/reference/get-nft-metadata?address=0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB\&token_id=1\&chain=eth\&format=decimal\&normalizeMetadata=true\&media_items=false)

Để điều chỉnh mẫu code của họ, hãy thay thế tham chiếu đến Ethereum bằng ID của Chiliz Chain trong hệ thống Moralis, là `0x15b38`:

```typescript
import Moralis from 'moralis';

try {
  await Moralis.start({
    apiKey: "YOUR_API_KEY"
  });

  const response = await Moralis.EvmApi.nft.getNFTMetadata({
    "chain": "0x15b38", // This is for Chiliz Chain Mainnet.
                        // For Spicy Testnet, use "0x15b32".
    "format": "decimal",
    "normalizeMetadata": true,
    "mediaItems": false,
    "address": "0xYourNFTContractAddress",
    "tokenId": "1"
  });

  console.log(response.raw);
} catch (e) {
  console.error(e);
}
```

## Cách thực hiện với Tatum

Tatum cung cấp một submodule NFT trong công cụ trừu tượng hóa blockchain của họ mà bạn có thể sử dụng, kèm theo mẫu code cho trường hợp truy xuất metadata:

* [Get the metadata of a specific NFT](https://docs.tatum.io/docs/get-the-metadata-of-a-specific-nft)

Để điều chỉnh mẫu code của họ, hãy thay thế tham chiếu đến Ethereum bằng Chiliz Chain:

```typescript
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', // replace with your collection
  tokenId: '1'
})

console.log(metadata.data)
```

## Cách thực hiện với thirdweb

Với thirdweb, bạn có thể tham khảo mã nguồn mẫu được lưu trữ trên trang tài liệu của họ:

* [ThirdwebNftMedia](https://portal.thirdweb.com/react/v4/components/ThirdwebNftMedia#usage)

Dưới đây là cách bạn có thể điều chỉnh đoạn code đó để truy xuất metadata:

```typescript
const { ThirdwebSDK } = require("@thirdweb-dev/sdk");

const sdk = new ThirdwebSDK("https://rpc.ankr.com/chiliz");
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();
```

## Cách thực hiện với Nodit

Nodit cung cấp mẫu code sau [trong tài liệu của họ](https://developer.nodit.io/reference/chiliz-getnftmetadatabytokenids):

```typescript
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));
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.chiliz.com/vi/phat-trien/co-ban/cach-thuc/lay-metadata-nft.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
