Le standard de token ERC721
Le standard de token ERC721 : article complet sur le blog Chaingateway — API blockchain, paiements et intégrations crypto.
Vous avez peut-être entendu parler des Non Fungible Tokens (NFT). Le standard NFT le plus populaire actuellement est ERC721. Mais qu’est-ce qui définit réellement un token ERC721 ? Et comment fonctionne-t-il techniquement ?
Qu’est-ce que l’ERC721 ?
ERC721 est un standard technique pour l’implémentation de tokens non fongibles sur Ethereum. Les fonctions du standard ERC721 définissent comment les token ERC721 peuvent être envoyés, comment récupérer les propriétaires de token spécifiques, et où trouver les détails d’un token donné.
Comment créer un token ERC721 ?
Pour créer un token ERC721, il faut créer et personnaliser le smart contract ERC721. Comme il s’agit d’un standard ouvert, plusieurs fonctions et événements doivent être pris en compte lors du développement du smart contract d’un token ERC721. Après création et personnalisation, le smart contract peut être compilé, par exemple avec le compilateur en ligne Remix. Le bytecode renvoyé après la compilation doit être diffusé sur la blockchain Ethereum. Félicitations ! Le token ERC721 est maintenant sur la blockchain !
Existe-t-il des exemples de code pour créer des smart contracts de token ERC721 ?
Le standard officiel, ses fonctions et ses événements sont décrits dans l’EIP-721 officiel, William Entriken, Dieter Shirley, Jacob Evans, Nastassia Sachs, « EIP-721: Non-Fungible Token Standard », Ethereum Improvement Proposals, n° 721, janvier 2018. [Série en ligne]. Disponible sur : des implémentations d’exemple se trouvent aussi sur les pages GitHub d’OpenZeppelin.
Quelle est la différence entre les token ERC721 et les token ERC20 ?
Un token ERC20 est fongible, ce qui signifie que chaque token est littéralement identique, comme les monnaies classiques. Un token ERC721 est non fongible, ce qui signifie que chaque token peut avoir des détails différents, comme des objets de collection.
Peut-on payer les frais de gas avec des token ERC721 plutôt qu’avec de l’Ethereum ?
Les frais de gas doivent toujours être payés en Ethereum. Même si seuls des token ERC721 sont transférés, un peu d’Ethereum est nécessaire sur l’adresse expéditrice pour couvrir les frais de gas côté blockchain.
Combien coûte la création d’un token ERC721 ?
Il y a 2 réponses à cette question :
- Si vous créez le smart contract vous-même et le déployez, vous n’aurez besoin de payer que les frais de gas pour « enregistrer » le smart contract sur la blockchain. Pour déployer un smart contract de token ERC721, cela représente environ 2 à 3 millions de gas. Il faut multiplier ce chiffre par le prix actuel du gas pour obtenir une estimation. Le prix du gas le plus récent se trouve par exemple sur ETH Gas Station.
- Si vous faites créer votre smart contract par un développeur ou une agence de développement, le coût peut aller jusqu’à quelques milliers d’euros, hors frais de gas mentionnés ci-dessus.
- Il existe aussi des frais pour minter chaque token, parfois payés par le propriétaire du contrat de token, parfois par un utilisateur d’un smart contract NFT. Le minting est la création initiale d’un token unique.
Les token ERC721 sont-ils légaux ?
Cela dépend beaucoup de l’usage réel du token et du pays du propriétaire. Dans la plupart des pays, les token ERC721 sont légaux en eux-mêmes, mais dès qu’il s’agit de les vendre, de les échanger, de les utiliser comme moyen de paiement ou comme parts d’entreprise, des réglementations et licences supplémentaires sont nécessaires. Les token ERC721 peuvent aussi être soumis à des taxes dans de nombreux pays. Dans tous les cas, il est recommandé de consulter un avocat pour vérifier si des licences sont nécessaires pour un usage ou un modèle économique spécifique. Les règles de connaissance du client (KYC) et de lutte contre le blanchiment (AML) peuvent aussi s’appliquer lors de la vente de token ERC721.
Comment envoyer automatiquement des token ERC721 ?
En général, les gens envoient des cryptomonnaies via leur wallet : ils saisissent le destinataire et le montant à envoyer. Mais que faire si vous voulez envoyer des token ERC721 à des dizaines de milliers de personnes ? Le faire manuellement vous prendrait au moins 7 jours de travail 24h/24, ce n’est pas une bonne option. C’est l’une des raisons pour lesquelles nous avons créé Chaingateway.io. Grâce à l’API REST simple à utiliser de notre solution, il est possible d’envoyer des token ERC721 à des millions de personnes avec un simple script. Et le meilleur : cela fonctionne avec n’importe quel token ERC721 et ne nécessite aucun listing (contrairement à la plupart des exchanges).
Qu’est-ce qu’une adresse de contrat ?
Lors du déploiement d’un smart contract de token ERC721, vous recevez un hash, qui sert d’identifiant unique permettant à Ethereum de savoir où trouver le smart contract déployé sur la blockchain Ethereum. C’est aussi ce qu’on appelle une adresse de contrat, car c’est l’adresse où se trouve le smart contract. L’adresse de contrat est la seule partie d’un token qui vous permette d’être sûr d’avoir affaire au bon token ERC721. Bien sûr, chaque token ERC721 a un nom, mais ces noms n’ont pas besoin d’être uniques. En théorie, vous pourriez créer dix mille contrats de token ERC721 ayant tous le même nom — seule l’adresse de contrat différerait.
Existe-t-il d’autres standards de token populaires ?
D’autres standards de token populaires sont l’ERC20 — un standard de smart contract pour les tokens fongibles. Et l’ERC1155 — un standard de smart contract multi-token. Ci-dessous, nous renvoyons vers notre explication du token ERC20 ainsi qu’un lien vers le standard de token ERC1155.
Witek Radomski, Andrew Cooke, Philippe Castonguay, James Therien, Eric Binet, Ronan Sandford, « EIP-1155: ERC-1155 Multi Token Standard », Ethereum Improvement Proposals, n° 1155, juin 2018. [Série en ligne]. Disponible sur : https://eips.ethereum.org/EIPS/eip-1155.
Prêt à le construire vous-même ? Obtenir votre clé API — essai de 7 jours, sans carte bancaire — ou consultez API Ethereum pour la référence complète des endpoints.