# Choisir le bon contrat NFT

Avant qu'un fichier puisse être frappé en tant que NFT, vous devez déployer et vérifier un contrat intelligent NFT correspondant sur Chiliz Chain. Il s'agit d'une étape cruciale pour assurer la transparence et permettre l'interaction avec votre contrat on-chain.

## **Quel contrat intelligent utiliser ?**

Il existe de nombreux contrats intelligents dans l'univers de la blockchain, et il peut ne pas être évident de savoir lequel convient pour le minting de NFT.

Le contrat intelligent dont vous avez besoin dépend du type de projet NFT que vous envisagez :

* Un objet unique : \
  Utilisez un [ERC-721](https://eips.ethereum.org/EIPS/eip-721) contrat NFT, et frappez un seul objet avec celui-ci.
* Plusieurs objets uniques : \
  Utilisez un [ERC-721](https://eips.ethereum.org/EIPS/eip-721) contrat NFT, et frappez une collection d'objets avec celui-ci.
* Plusieurs exemplaires du même objet : \
  Utilisez un [ERC-1155](https://eips.ethereum.org/EIPS/eip-1155) contrat Multi Token (permet à un objet d'avoir plus d'une instance).
* Plusieurs exemplaires de plusieurs objets : \
  Utilisez également un [ERC-1155](https://eips.ethereum.org/EIPS/eip-1155) contrat Multi Token.

Il existe d'autres contrats intelligents (connus sous le nom d'extensions ou variantes de contrat) pour différents usages (tels que [ERC-2981](https://eips.ethereum.org/EIPS/eip-2981) pour les redevances, [ERC-4906](https://eips.ethereum.org/EIPS/eip-4906) pour l'événement de mise à jour des métadonnées, ERC-721 Drop pour le lazy-minting, etc.), mais pour l'instant, connaître ERC-721/1155 suffit.

{% hint style="warning" %}
**Dois-je écrire mon propre contrat intelligent ?**

Même si vous voulez avoir un contrôle total sur votre code, nous NE recommandons PAS d'écrire des contrats ERC‑721 à partir de zéro. Vous devriez utiliser les contrats éprouvés et audités provenant de bibliothèques de contrats réputées.
{% endhint %}

La façon la plus sûre et la plus courante d'obtenir un contrat de minting NFT est d'utiliser celui d'OpenZeppelin, par exemple [leur contrat ERC-721](https://docs.openzeppelin.com/contracts/5.x/erc721). Cela vous évite de réinventer la roue et aide à prévenir les vulnérabilités de sécurité courantes.&#x20;

{% hint style="success" %}
[OpenZeppelin](https://www.openzeppelin.com/) est une plateforme open-source pour construire des dApps sécurisées.

En plus de plusieurs services de sécurité et d'audit, ils fournissent [une bibliothèque de contrats intelligents validés par la communauté](https://docs.openzeppelin.com/contracts/), gratuite pour que quiconque puisse l'utiliser dans ses projets.

En tant que telle, les contrats OpenZeppelin sont considérés comme des standards de l'industrie, et vous pouvez vous y fier en toute sécurité.
{% endhint %}

## Déployer et vérifier votre contrat intelligent NFT

Vous pouvez déployer votre contrat intelligent sur Chiliz Chain en utilisant des plateformes réputées, telles que [Remix IDE](https://remix.ethereum.org/) ou [thirdweb](https://thirdweb.com/), ou directement en utilisant [Hardhat](https://hardhat.org/).

Une fois que vous l'avez déployé, vous devez vérifier le contrat sur un explorateur de blocs, afin que les outils et plateformes de développement puissent lire son ABI (Application Binary Interface) et interagir avec lui.

Suivez ces guides pour déployer puis vérifier votre contrat NFT :

{% content-ref url="../../../demarrage-rapide/boite-a-outils-du-developpeur/deployer-et-verifier-un-contrat" %}
[deployer-et-verifier-un-contrat](https://docs.chiliz.com/fr-ai/demarrage-rapide/boite-a-outils-du-developpeur/deployer-et-verifier-un-contrat)
{% endcontent-ref %}

{% hint style="warning" %}
Assurez-vous de vérifier votre contrat sur l'un des explorateurs de blocs de Chiliz Chain !\
[verifier-un-contrat-intelligent](https://docs.chiliz.com/fr-ai/developper/notions-de-base/verifier-un-contrat-intelligent "mention")

Seuls les contrats vérifiés peuvent frapper des NFT compatibles avec Socios.com et le portefeuille Socios.com.
{% endhint %}

Encore une fois, faites attention à utiliser les détails réseau corrects pour Chiliz Chain et Spicy Testnet :

{% content-ref url="../../../demarrage-rapide/boite-a-outils-du-developpeur/connexion-au-mainnet-et-au-testnet" %}
[connexion-au-mainnet-et-au-testnet](https://docs.chiliz.com/fr-ai/demarrage-rapide/boite-a-outils-du-developpeur/connexion-au-mainnet-et-au-testnet)
{% endcontent-ref %}
