> 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/pt-br/desenvolver/avancado/trabalhar-com-nfts/escolher-contrato-nft.md).

# Escolher o contrato NFT certo

Antes que um arquivo possa ser mintado como NFT, você deve implantar e verificar um smart contract NFT correspondente na Chiliz Chain. Esta é uma etapa crucial para garantir transparência e permitir interação com seu contrato on-chain.

## **Qual smart contract usar?**

Há muitos smart contracts no mundo blockchain, e pode não ser óbvio qual é adequado para mintagem de NFTs.

O smart contract que você precisa depende do tipo de projeto NFT que você tem em mente:

* Um item único:\
  Use um contrato NFT [ERC-721](https://eips.ethereum.org/EIPS/eip-721) e minte um único item com ele.
* Muitos itens únicos:\
  Use um contrato NFT [ERC-721](https://eips.ethereum.org/EIPS/eip-721) e minte uma coleção de itens com ele.
* Várias cópias do mesmo item:\
  Use um contrato Multi Token [ERC-1155](https://eips.ethereum.org/EIPS/eip-1155) (permite que um item tenha mais de uma instância).
* Várias cópias de vários itens:\
  Use também um contrato Multi Token [ERC-1155](https://eips.ethereum.org/EIPS/eip-1155).

Existem outros smart contracts (conhecidos como extensões ou variantes de contrato) para diferentes usos (como [ERC-2981](https://eips.ethereum.org/EIPS/eip-2981) para Royalties, [ERC-4906](https://eips.ethereum.org/EIPS/eip-4906) para evento de atualização de metadados, ERC-721 Drop para lazy-minting, etc.), mas por enquanto, conhecer ERC-721/1155 é suficiente.

{% hint style="warning" %}
**Devo escrever meu próprio smart contract?**

Mesmo que você queira ter controle total sobre seu código, NÃO recomendamos escrever contratos ERC-721 do zero. Você deve usar os contratos testados e auditados de bibliotecas de contratos conceituadas.
{% endhint %}

A forma mais segura e comum de obter um contrato de mintagem de NFT é usando o da OpenZeppelin, por exemplo o [contrato ERC-721 deles](https://docs.openzeppelin.com/contracts/5.x/erc721). Isso evita reinventar a roda e ajuda a prevenir vulnerabilidades de segurança comuns.

{% hint style="success" %}
A [OpenZeppelin](https://www.openzeppelin.com/) é uma plataforma de código aberto para construção de dApps seguros.

Além de vários serviços de segurança e auditoria, eles fornecem [uma biblioteca de smart contracts verificados pela comunidade](https://docs.openzeppelin.com/contracts/), gratuita para uso em projetos.

Como tal, os contratos OpenZeppelin são considerados padrões da indústria e podem ser usados com segurança.
{% endhint %}

## Implantando e Verificando seu Smart Contract NFT

Você pode implantar seu smart contract na Chiliz Chain usando plataformas conceituadas, como o [Remix IDE](https://remix.ethereum.org/) ou o [thirdweb](https://thirdweb.com/), ou diretamente usando o [Hardhat](https://hardhat.org/).

Após implantá-lo, você deve verificar o contrato em um block explorer, para que ferramentas e plataformas de desenvolvimento possam ler sua ABI (Application Binary Interface) e interagir com ele.

Siga estes guias para implantar e depois verificar seu contrato NFT:

[Implantar um Smart Contract](/pt-br/desenvolver/basico/implantar-smart-contract.md)

{% hint style="warning" %}
Certifique-se de verificar seu contrato em um dos block explorers da Chiliz Chain!\
[Verificar um Smart Contract](/pt-br/desenvolver/basico/verificar-smart-contract.md)

Somente contratos verificados podem mintar NFTs compatíveis com a Socios.com e a Carteira Socios.com.
{% endhint %}

Novamente, preste atenção em usar os detalhes de rede corretos para a Chiliz Chain e a Spicy Testnet:

[Conectar via RPC](/pt-br/desenvolver/basico/conectar-a-chiliz-chain/conectar-via-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/pt-br/desenvolver/avancado/trabalhar-com-nfts/escolher-contrato-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.
