ERC-721 est le standard pour les NFTs : chaque token est unique, identifié par un ID numérique. Contrairement aux tokens ERC-20 (où tous les tokens sont interchangeables), un ERC-721 n’a pas d’équivalent. C’est ça qui le rend utile pour l’art, les collections, les domaines, les tickets ou tout ce qui doit être unique et prouvable on-chain.
La différence clé : fongible vs non-fongible
Un billet de 10€ est fongible : tu peux l’échanger contre un autre billet de 10€ identique. Un NFT est non-fongible : c’est comme une œuvre d’art originale. Même si deux NFTs se ressemblent, leurs IDs sont différents, donc ils ne sont pas interchangeables.
En Ethereum :
— ERC-20 : balance[address] = 1000 (tu possèdes 1000 tokens identiques)
— ERC-721 : owner[tokenID] = address (tu possèdes cet ID spécifique)
Comment reconnaître un NFT sur Etherscan
Sur un explorateur, si tu cherches un smart contract :
— Onglet « Code » : tu verras `import ERC721` et la fonction `ownerOf(tokenId)`
— Onglet « Read » : tu peux vérifier qui possède un tokenID spécifique
— Onglet « Events » : chaque transfer émet un event Transfer(from, to, tokenId)
Cela rend la propriété vérifiable publiquement. Aucune « capture d’écran » ne prouve la propriété — seul ownerOf() on-chain le fait.
Les métadonnées : où vit ton image
L’image d’un NFT n’est généralement PAS stockée on-chain (trop coûteux). À la place, le contrat a une fonction `tokenURI(tokenId)` qui pointe vers une URL :
Exemple : https://nft-server.com/metadata/123.json
Ce JSON contient :
`{
« name »: « Mon NFT »,
« image »: « ipfs://QmXx… »,
« attributes »: { « rarity »: « rare » }
}`
Risque important : si le serveur tombe ou disparaît, les métadonnées disparaissent. Les projets sérieux utilisent IPFS (stockage décentralisé) ou Arweave au lieu d’un serveur classique.
Approvals et permissions : un piège courant
Comme ERC-20, ERC-721 a un mécanisme d’approval. Tu peux autoriser une marketplace (ex : OpenSea) à transférer ton NFT si quelqu’un l’achète.
La fonction clé : `setApprovalForAll(marketplace_address, true)`
Cela signifie : « Marketplace, tu peux transférer TOUS mes NFTs de cette collection ».
Danger : si tu signes ça sur un faux site (phishing), ton wallet tout entier peut être vidé. Avant de signer, vérifie :
1. L’URL est-elle correcte ? (opensea.io, pas opensea.xyz)
2. Le contrat que tu autorises est-il le bon ? (cherche l’adresse officielle)
3. Es-tu sûr que c’est une vraie demande ?
Créer un NFT ERC-721
Comme ERC-20, tu peux utiliser OpenZeppelin :
`pragma solidity ^0.8.0;
import « @openzeppelin/contracts/token/ERC721/ERC721.sol »;
contract MyNFT is ERC721 {
constructor() ERC721(« MonNFT », « MNFT ») {}
function mint(address to, uint256 tokenId) public {
_safeMint(to, tokenId);
}
}`
Tu déploies, tu appelles mint(), et un NFT unique est créé.
Risques et arnaques courants
Collections clonées : quelqu’un crée une collection avec le même nom qu’une célèbre. Tu crois acheter l’original, mais tu achètes une copie. Défense : toujours vérifier l’adresse du contrat.
Faux mints : un lien partagé sur Discord/Twitter te mène vers un faux site de mint. Tu signes, tu mints un NFT sur un contrat malveillant. Défense : accède au mint QUE via l’URL officielle vérifiée.
Rugpull de métadonnées : tu achètes un NFT avec une belle image, le créateur change l’URI vers une autre image. Défense : recherche si le projet utilise IPFS (plus permanent) ou un serveur classique (risqué).
Les cas d’usage au-delà de l’art
ERC-721 est utile pour :
— Domaines (.eth sur ENS)
— Tickets de concert ou événements
— Certificats de propriété (maison, voiture)
— Badges de participation ou d’adhésion
— Identité (passeports numériques)
L’art est ce qui a été popularisé, mais l’utilité est bien plus large.
Conclusion
ERC-721 rend la propriété unique prouvable et transférable on-chain. Pour bien l’utiliser : vérifie les adresses, méfie-toi des approvals, et comprends où vivent les métadonnées. La technologie est simple, mais les arnaques sont partout. Fais tes vérifications, et tu peux profiter des NFTs sans risque majeur.
—
