Qu'est-ce que l'ERC-721 : le fondement de l'écosystème NFT

Points clés
• L'ERC-721 définit comment créer et gérer des jetons non fongibles sur Ethereum.
• Les métadonnées peuvent être stockées sur chaîne ou hors chaîne, avec des solutions comme IPFS et Arweave.
• Des extensions comme l'ERC-2981 et l'ERC-4907 améliorent la monétisation et la gestion des droits des NFT.
• La sécurité est cruciale, avec des recommandations pour utiliser des transferts sécurisés et des portefeuilles matériels.
• L'écosystème NFT évolue vers des cas d'utilisation pratiques, notamment dans les jeux, l'identité et les abonnements.
Les jetons non fongibles (NFT) rendent les objets numériques possédables, négociables et composables sur les blockchains publiques. Au cœur de cette transformation se trouve l'ERC-721, la norme Ethereum qui définit comment les jetons uniques sont créés, transférés et découverts sur les portefeuilles, les places de marché et les applications. Si vous avez déjà créé un objet de collection, acheté un actif de jeu ou restreint l'accès à une communauté, vous avez probablement interagi avec l'ERC-721.
Cet article explique ce qu'est l'ERC-721, comment il fonctionne, les écueils courants, pourquoi les extensions sont importantes et où la norme se dirige en 2025.
Ce que définit réellement l'ERC-721
L'ERC-721 est une interface Ethereum pour les jetons non fongibles, des actifs uniques par leur identifiant et qui ne peuvent pas être échangés 1:1 comme les jetons fongibles ERC-20. La norme spécifie les fonctions et événements de base que tous les contrats conformes doivent implémenter, permettant un support cohérent des portefeuilles et des places de marché. Consultez la spécification canonique sur le site des propositions d'amélioration d'Ethereum : EIP-721.
Les éléments clés comprennent :
- Propriété et solde :
ownerOf(tokenId),balanceOf(owner) - Transferts :
transferFrom,safeTransferFrom(recommandé pour les comptes utilisateurs et les contrats intelligents) - Approbations :
approve,getApproved,setApprovalForAll - Événements :
Transfer,Approval,ApprovalForAll - Extension de métadonnées optionnelle :
name,symbol,tokenURIpour les métadonnées au niveau de l'objet
Pour les développeurs, le moyen le plus simple de commencer est d'utiliser des bibliothèques auditées comme l'implémentation d'OpenZeppelin, qui prend en charge les extensions énumérables et de métadonnées : OpenZeppelin ERC-721.
Une interface minimale ressemble à ceci :
interface IERC721 {
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);
event ApprovalForAll(address indexed owner, address indexed operator, bool approved);
function balanceOf(address owner) external view returns (uint256);
function ownerOf(uint256 tokenId) external view returns (address);
function safeTransferFrom(address from, address to, uint256 tokenId) external;
function transferFrom(address from, address to, uint256 tokenId) external;
function approve([address](https://onekey.so/blog/fr/ecosystem/what-is-a-crypto-wallet-address/) to, uint256 tokenId) external;
function setApprovalForAll([address](https://onekey.so/blog/fr/ecosystem/what-is-a-crypto-wallet-address/) operator, bool approved) external;
function getApproved(uint256 tokenId) external view returns ([address](https://onekey.so/blog/fr/ecosystem/what-is-a-crypto-wallet-address/));
// Extension de métadonnées optionnelle
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function tokenURI(uint256 tokenId) external view returns (string memory);
}
Pour un aperçu général, la documentation d'Ethereum fournit un contexte supplémentaire et des bonnes pratiques : Documentation développeurs ERC-721.
Métadonnées : sur chaîne vs hors chaîne
L'ERC-721 ne dicte pas lui-même comment les métadonnées sont stockées ; il renvoie simplement une tokenURI qui pointe vers une charge utile JSON décrivant l'actif (nom, description, image, attributs). En pratique, la plupart des projets utilisent un stockage décentralisé :
- IPFS pour l'adressage de contenu et la distribution : IPFS
- Arweave pour un stockage permanent et durable : Arweave
- Schémas de places de marché comme le guide de métadonnées d'OpenSea : Normes de métadonnées OpenSea
Les métadonnées sur chaîne sont possibles (et de plus en plus populaires pour une durabilité à long terme), mais plus coûteuses. Une approche hybride — un petit JSON sur chaîne plus des médias hors chaîne — est courante.
Pour une récupération avancée à partir de sources hors chaîne sans sacrifier les hypothèses de confiance, l'ERC-3668 ("CCIP-Read") permet aux contrats de vérifier les données hors chaîne sur chaîne : EIP-3668.
ERC-721 vs ERC-1155
L'ERC-721 cible les objets uniques, un par un. L'ERC-1155 est une norme multi-jetons qui prend en charge les jetons fongibles et non fongibles au sein d'un même contrat, ce qui le rend idéal pour les objets de jeu semi-fongibles ou les éditions. Si vous créez des éditions ou des lots avec des métadonnées partagées, envisagez l'ERC-1155 : EIP-1155. Pour les objets purement uniques où chaque jeton a son propre cycle de vie et ses transferts, l'ERC-721 reste la norme par défaut.
Extensions importantes en 2025
L'écosystème continue d'innover autour de l'ERC-721 avec des normes optionnelles qui améliorent l'expérience utilisateur, la composabilité et la monétisation :
- Redevances : l'ERC-2981 standardise les informations de redevances des créateurs au niveau du contrat, de sorte que les places de marché peuvent découvrir les paramètres de redevances de manière uniforme. Notez que l'application des redevances dépend de la place de marché, et non du protocole. En savoir plus : EIP-2981 et les politiques des places de marché comme l'aperçu des frais créateurs d'OpenSea.
- Permis pour NFT : l'ERC-4494 introduit les signatures typées EIP-712 pour les approbations, permettant des approbations sans frais de gaz et une meilleure expérience utilisateur sans autorisations globales d'opérateur. EIP-4494.
- Droits de location/utilisation : l'ERC-4907 ajoute un rôle "utilisateur" avec un horodatage d'expiration, permettant des locations limitées dans le temps sans transfert de propriété. EIP-4907.
- Comptes liés aux jetons (TBA) : l'ERC-6551 permet à un NFT d'avoir son propre portefeuille de contrat intelligent, permettant des actifs possédés, une identité et des comportements complexes liés au jeton lui-même. C'est un déblocage majeur pour les jeux, l'identité et l'art composable. EIP-6551.
Ensemble, ces extensions rendent les NFT plus programmables et alignés sur des cas d'utilisation réels : abonnements, inventaires de jeux, art dynamique et identité sur chaîne.
Sécurité et expérience utilisateur : écueils courants
Étant donné que l'ERC-721 implique des approbations et des transferts, il est fréquemment la cible de hameçonnage et d'ingénierie sociale. Conseils pratiques :
- Privilégiez
safeTransferFrompour les transferts initiés par l'utilisateur. Il vérifie le destinataire pouronERC721Receivedlors de l'envoi à des contrats intelligents, empêchant la perte accidentelle de jetons. Voir les notes d'implémentation dans la documentation ERC-721 d'OpenZeppelin. - Méfiez-vous des approbations globales.
setApprovalForAllest puissant ; si un opérateur est compromis, tous vos NFT sont en danger. Envisagez de révoquer les approbations après utilisation et examinez régulièrement les listesgetApprovedet d'opérateurs. - Vérifiez les signatures. De nombreuses applications NFT utilisent des données typées EIP-712 pour les approbations, les listages et les ordres hors chaîne. Lisez toujours le message et confirmez le domaine et l'intention avant de signer : EIP-712.
- Utilisez des portefeuilles matériels pour la création, les approbations et les transferts. Un appareil dédié aide à isoler les clés et réduit le risque de logiciels malveillants ou d'attaques de portefeuilles de navigateur.
Si vous envisagez la garde, les portefeuilles matériels OneKey créent un environnement de signature hors ligne avec des résumés de transaction clairs et un support multi-chaînes. Cela rend les interactions ERC-721 — en particulier les approbations, les listages et les signatures de permis — plus faciles à examiner et plus sûres à exécuter.
Gaz et évolutivité : l'ERC-721 sur la couche 2
L'activité NFT s'est de plus en plus déplacée vers les réseaux de couche 2 pour une finalité plus rapide et des coûts réduits. L'ERC-721 fonctionne de la même manière sur L2 que sur le réseau principal ; la différence réside dans la technologie de rollup sous-jacente et le règlement. Avant le déploiement, vérifiez :
- Comment votre place de marché indexe les jetons et les métadonnées sur la L2 cible
- Le comportement du pont (création et destruction vs contrats miroirs)
- La finalité du séquenceur et les délais de retrait
Pour un aperçu des écosystèmes L2 et des compromis, consultez la documentation de la couche 2 d'Ethereum : Aperçu de la couche 2.
L'abstraction de compte (AA) via l'ERC-4337 remodèle également l'expérience utilisateur des NFT avec le parrainage des frais de gaz et des politiques de signature programmables. Cela permet des "créations sans frais de gaz" et des clés de session plus sûres pour les expériences dans l'application. En savoir plus sur EIP-4337 et un guide d'initiation à l'AA d'Alchemy : Aperçu de l'abstraction de compte.
Liste de contrôle pour les développeurs : intégrations ERC-721 fiables
- Utilisez des bibliothèques auditées et suivez la spécification : EIP-721, OpenZeppelin ERC-721.
- Décidez du stockage des métadonnées à l'avance : IPFS, Arweave ou sur chaîne. Liens vers la documentation des schémas : Normes de métadonnées OpenSea, IPFS, Arweave.
- Choisissez les extensions qui correspondent à votre produit : EIP-2981, EIP-4494, EIP-4907, EIP-6551.
- Planifiez le déploiement L2 et l'indexation : Aperçu de la couche 2.
- Implémentez une gestion solide des approbations, des flux de révocation et des dialogues de signature clairs en utilisant EIP-712 : EIP-712.
- Envisagez l'AA pour un onboarding plus fluide et des actions sponsorisées : EIP-4337, Aperçu de l'abstraction de compte.
Perspectives 2025 : les NFT au-delà des objets de collection
Alors que les photos de profil ont déclenché la première vague grand public, l'ERC-721 continue de s'étendre dans des catégories axées sur l'utilité :
- Jeux : les objets sur chaîne, les produits cosmétiques et les inventaires appartenant aux joueurs bénéficient des TBA et des locations pour des économies de jeu significatives.
- Identité et appartenance : les expériences basées sur des jetons, les identifiants et les primitives communautaires tirent parti des signatures et de l'AA pour une expérience utilisateur mobile native.
- Billets et abonnements : les droits limités dans le temps via l'ERC-4907 modélisent les schémas d'accès du monde réel.
- Actifs culturels et art dynamique : les métadonnées sur chaîne, CCIP-Read et les contrats modulaires apportent longévité et évolution aux œuvres créatives.
Pour une explication plus large des concepts et des cas d'utilisation des NFT, consultez l'aperçu des NFT d'Ethereum : NFT sur Ethereum.
Pourquoi la garde est toujours importante pour l'ERC-721
Les approbations, les listages et les signatures de création affectent directement la propriété. Si votre périphérique de signature est compromis, vos NFT peuvent être déplacés sans votre consentement. Les portefeuilles matériels restent une sauvegarde simple et très efficace pour quiconque interagit régulièrement avec des contrats ERC-721.
OneKey fournit :
- Des clés privées hors ligne et une signature sécurisée pour les transferts, les approbations et les signatures de permis ERC-721.
- Des aperçus clairs des transactions et des messages, vous aidant à identifier les opérateurs malveillants ou les signatures trompeuses.
- Un large support EVM et L2 pour des flux de travail NFT transparents sur différentes chaînes.
Si vous négociez, collectionnez ou créez avec des NFT, associer des portefeuilles logiciels à un portefeuille matériel OneKey ajoute une couche de protection essentielle, d'autant plus que l'ERC-721 évolue avec des extensions avancées et l'abstraction de compte.
L'ERC-721 a posé les bases de l'ensemble de l'écosystème NFT. À mesure que la composabilité se développe et que l'expérience utilisateur s'améliore, la simplicité de la norme reste sa superpuissance : un langage universel pour la propriété unique dans un monde programmable.






