Web3 & DApp Development Fundamentals · Leçon

Normes ERC (ERC-20, ERC-721)

Étudiez les normes courantes Ethereum Request for Comments (ERC), comme ERC-20 pour les jetons fongibles et ERC-721 pour les jetons non fongibles (NFT).

Leçon 1 sur 311 étapes

Normes ERC (ERC-20, ERC-721) est une leçon Web3 & DApp Development Fundamentals gratuite sur CoddyKit. Ceci est la leçon 1 sur 3. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Web3 & DApp Development Fundamentals, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Web3 & DApp Development Fundamentals comprend 3 leçons au total.

Que sont les normes ERC ?

ERC signifie Ethereum Request for Comments. Il s’agit de propositions officielles qui définissent des règles et des fonctionnalités précises pour les contrats intelligents sur la blockchain Ethereum.

Considérez-les comme des plans ou des accords communs. Elles garantissent que différents contrats et applications puissent « parler la même langue » et interagir harmonieusement.

Comprendre les jetons ERC-20

Un jeton ERC-20 est une norme pour les jetons fongibles. Fongible signifie que chaque unité est identique aux autres et interchangeable avec elles, comme une monnaie ordinaire.

Un dollar a la même valeur que n’importe quel autre dollar. Les jetons ERC-20 sont utilisés pour les cryptomonnaies, les stablecoins et les jetons utilitaires.

ERC-20 : opérations de base

La norme ERC-20 définit un ensemble de fonctions et d’événements que tous les jetons conformes doivent implémenter. Les fonctions principales comprennent :

  • totalSupply() : renvoie le nombre total de jetons.
  • balanceOf(address account) : récupère le solde d’une adresse.
  • transfer(address recipient, uint256 amount) : envoie des jetons de l’appelant à un destinataire.

ERC-20 : transfert simple

Voici un contrat simplifié qui illustre l’idée principale de la fonction transfer d’un jeton ERC-20. Il gère les soldes et permet d’envoyer des jetons.

Essayez de le déployer dans Remix et de transférer des jetons !

    // SPDX-License-Identifier: MIT
    pragma solidity ^0.8.0;

    contract SimpleToken {
        string public name = "MySimpleToken";
        string public symbol = "MST";
        uint8 public decimals = 18;
        uint256 public totalSupply = 1000000 * (10 ** decimals);

        mapping(address => uint256) public balances;

        constructor() {
            balances[msg.sender] = totalSupply;
        }

        function transfer(address recipient, uint256 amount)
            public returns (bool)
        {
            require(balances[msg.sender] >= amount, "Insufficient balance");
            balances[msg.sender] -= amount;
            balances[recipient] += amount;
            return true;
        }

        function balanceOf(address account)
            public view returns (uint256)
        {
            return balances[account];
        }
    }

ERC-20 : approuver et transférer avec TransferFrom

Pour permettre à d’autres contrats (comme les plateformes d’échange décentralisées) de dépenser des jetons en votre nom, ERC-20 utilise des autorisations :

  • approve(address spender, uint256 amount) : autorise un spender à retirer jusqu’à amount de votre compte.
  • transferFrom(address sender, address recipient, uint256 amount) : transfère des jetons de sender vers recipient, généralement à la demande d’un spender disposant d’une autorisation.

Présentation des NFT ERC-721

Les jetons ERC-721 sont des jetons non fongibles (NFT). Non fongible signifie que chaque jeton est unique et ne peut pas être remplacé par un autre.

Pensez à une œuvre d’art unique ou à une carte de collection précise. Les NFT sont utilisés pour l’art numérique, les objets de jeu uniques, les terrains dans les mondes virtuels et bien plus encore.

ERC-721 : propriété et transferts

La norme ERC-721 définit également des fonctions spécifiques :

  • ownerOf(uint256 tokenId) : renvoie le propriétaire d’un identifiant de jeton spécifique.
  • balanceOf(address owner) : renvoie le nombre de NFT détenus par un propriétaire.
  • safeTransferFrom(address from, address to, uint256 tokenId) : transfère de manière sécurisée un NFT spécifique d’une adresse à une autre.

ERC-721 : création simple de NFT

Ce contrat présente une méthode simple pour « frapper » (créer) des NFT uniques et suivre leur propriété. Chaque NFT possède un tokenId unique.

Après le déploiement, essayez d’appeler plusieurs fois la fonction mint !

    // SPDX-License-Identifier: MIT
    pragma solidity ^0.8.0;

    contract SimpleNFT {
        string public name = "MySimpleNFT";
        string public symbol = "SNFT";
        uint256 private _nextTokenId;

        mapping(uint256 => address) public ownerOf;
        mapping(address => uint256) public balanceOf;

        constructor() {
            _nextTokenId = 0;
        }

        function mint(address recipient)
            public returns (uint256)
        {
            _nextTokenId++;
            uint256 newTokenId = _nextTokenId;
            ownerOf[newTokenId] = recipient;
            balanceOf[recipient]++;
            return newTokenId;
        }
    }

ERC-20 ou ERC-721 : principales différences

Voici une comparaison rapide :

  • Fongibilité : les jetons ERC-20 sont fongibles (interchangeables), tandis que les jetons ERC-721 sont non fongibles (uniques).
  • Unicité : les jetons ERC-20 sont suivis selon leur quantité, tandis que les jetons ERC-721 sont suivis au moyen d’identifiants uniques.
  • Cas d’utilisation : les ERC-20 servent aux monnaies et aux droits de vote ; les ERC-721 servent à l’art numérique, aux objets de collection et aux titres de propriété.

Identifier les normes

Lesquelles des affirmations suivantes décrivent correctement les caractéristiques ou les cas d’utilisation des jetons ERC-20 et ERC-721 ?

Récapitulatif : normes ERC

Nous avons étudié deux normes fondamentales d’Ethereum :

  • ERC-20 pour les jetons fongibles, idéaux pour les monnaies et les jetons utilitaires.
  • ERC-721 pour les jetons non fongibles (NFT), parfaits pour les actifs numériques uniques tels que les œuvres d’art et les objets de collection.

Ces normes sont essentielles pour assurer l’interopérabilité et créer un large éventail d’applications décentralisées sur Ethereum.

Gratuit pour commencer

Apprends Web3 & DApp Development Fundamentals avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
29
Leçons
105

Questions Fréquemment Posées

La leçon « Normes ERC (ERC-20, ERC-721) » est-elle gratuite ?

Oui — le texte complet de « Normes ERC (ERC-20, ERC-721) » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Web3 & DApp Development Fundamentals, passe à CoddyKit PRO. Le cours Web3 & DApp Development Fundamentals comprend 3 leçons au total.

Qu'est-ce que j'apprendrai dans « Normes ERC (ERC-20, ERC-721) » ?

Étudiez les normes courantes Ethereum Request for Comments (ERC), comme ERC-20 pour les jetons fongibles et ERC-721 pour les jetons non fongibles (NFT). Tu pratiques Web3 & DApp Development Fundamentals avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Web3 & DApp Development Fundamentals ?

Aucune expérience préalable n'est requise. Web3 & DApp Development Fundamentals sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 3.

Combien de temps prend la leçon « Normes ERC (ERC-20, ERC-721) » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Web3 & DApp Development Fundamentals ?

Oui. Chaque leçon Web3 & DApp Development Fundamentals inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Normes ERC (ERC-20, ERC-721)
  2. Bonnes pratiques de sécurité des contrats
  3. Contrats évolutifs
← Retour à Web3 & DApp Development Fundamentals