> 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/nang-cao/lam-viec-voi-nft/chon-hop-dong-nft.md).

# Chọn hợp đồng NFT phù hợp

Trước khi một tệp có thể được đúc thành NFT, bạn phải triển khai và xác minh một smart contract NFT tương ứng trên Chiliz Chain. Đây là bước quan trọng để đảm bảo tính minh bạch và cho phép tương tác với hợp đồng của bạn trên blockchain.

## **Nên dùng smart contract nào?**

Có rất nhiều smart contract trong thế giới blockchain, và không phải lúc nào cũng dễ nhận ra loại nào phù hợp để đúc NFT.

Smart contract bạn cần phụ thuộc vào loại dự án NFT bạn đang hướng tới:

* Một vật phẩm độc nhất:\
  Sử dụng hợp đồng NFT [ERC-721](https://eips.ethereum.org/EIPS/eip-721) và đúc một vật phẩm duy nhất với nó.
* Nhiều vật phẩm độc nhất:\
  Sử dụng hợp đồng NFT [ERC-721](https://eips.ethereum.org/EIPS/eip-721) và đúc một bộ sưu tập các vật phẩm với nó.
* Nhiều bản sao của cùng một vật phẩm:\
  Sử dụng hợp đồng Multi Token [ERC-1155](https://eips.ethereum.org/EIPS/eip-1155) (cho phép một vật phẩm có nhiều hơn một phiên bản).
* Nhiều bản sao của nhiều vật phẩm khác nhau:\
  Cũng sử dụng hợp đồng Multi Token [ERC-1155](https://eips.ethereum.org/EIPS/eip-1155).

Có các smart contract khác (được gọi là phần mở rộng hoặc biến thể hợp đồng) cho các mục đích sử dụng khác nhau (chẳng hạn như [ERC-2981](https://eips.ethereum.org/EIPS/eip-2981) cho Royalties, [ERC-4906](https://eips.ethereum.org/EIPS/eip-4906) cho sự kiện cập nhật Metadata, ERC-721 Drop cho lazy-minting, v.v.), nhưng hiện tại, hiểu về ERC-721/1155 là đủ.

{% hint style="warning" %}
**Tôi có nên tự viết smart contract của mình không?**

Dù bạn muốn kiểm soát hoàn toàn code của mình, chúng tôi KHÔNG khuyến nghị viết hợp đồng ERC‑721 từ đầu. Bạn nên sử dụng các hợp đồng đã được kiểm thử kỹ lưỡng và kiểm toán từ các thư viện hợp đồng uy tín.
{% endhint %}

Cách an toàn và phổ biến nhất để có được một hợp đồng đúc NFT là sử dụng hợp đồng từ OpenZeppelin, ví dụ như [hợp đồng ERC-721 của họ](https://docs.openzeppelin.com/contracts/5.x/erc721). Điều này giúp bạn không phải làm lại những gì đã có và phòng tránh các lỗ hổng bảo mật phổ biến.

{% hint style="success" %}
[OpenZeppelin](https://www.openzeppelin.com/) là một nền tảng mã nguồn mở để xây dựng các dApp bảo mật.

Ngoài nhiều dịch vụ bảo mật và kiểm toán, họ cung cấp [một thư viện các smart contract đã được cộng đồng kiểm duyệt](https://docs.openzeppelin.com/contracts/), miễn phí cho bất kỳ ai sử dụng trong dự án của mình.

Do đó, các hợp đồng OpenZeppelin được coi là tiêu chuẩn ngành, và bạn có thể yên tâm tin dùng chúng.
{% endhint %}

## Triển khai và xác minh smart contract NFT của bạn

Bạn có thể triển khai smart contract lên Chiliz Chain bằng các nền tảng uy tín như [Remix IDE](https://remix.ethereum.org/) hoặc [thirdweb](https://thirdweb.com/), hoặc trực tiếp bằng [Hardhat](https://hardhat.org/).

Sau khi triển khai, bạn phải xác minh hợp đồng trên một block explorer để các công cụ và nền tảng dành cho nhà phát triển có thể đọc ABI (Application Binary Interface) của nó và tương tác với nó.

Hãy làm theo các hướng dẫn sau để triển khai rồi xác minh hợp đồng NFT của bạn:

[Triển khai và xác minh một hợp đồng](/vi/phat-trien/co-ban/trien-khai-smart-contract.md)

{% hint style="warning" %}
Hãy đảm bảo xác minh hợp đồng của bạn trên một trong các block explorer của Chiliz Chain!\
[Xác minh Smart Contract](/vi/phat-trien/co-ban/xac-minh-smart-contract.md)

Chỉ những hợp đồng đã được xác minh mới có thể đúc NFT tương thích với Socios.com và Socios.com Wallet.
{% endhint %}

Một lần nữa, hãy chú ý sử dụng đúng thông tin mạng cho Chiliz Chain và Spicy Testnet:

[Kết nối với Mainnet và Testnet](/vi/phat-trien/co-ban/ket-noi-voi-chiliz-chain/ket-noi-bang-rpc.md)


---

# 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/nang-cao/lam-viec-voi-nft/chon-hop-dong-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.
