Documentation de développement d'Ethereum
Cette documentation est conçue pour vous aider à construire avec Ethereum. Elle couvre Ethereum en tant que concept, explique la pile technologique d'Ethereum et documente des sujets avancés pour des applications et des cas d'utilisation plus complexes.
Tout ici est open-source et maintenu par la communauté, donc si une page est obsolète ou s'il manque quelque chose d'utile, ouvrez une issue ou une pull request. Le guide d'édition (opens in a new tab) explique comment faire.
Choisissez un point de départ
Les lecteurs arrivent avec des objectifs différents, et le chemin le plus rapide à travers cette documentation dépend de ce que vous souhaitez construire. Voici quelques points d'entrée courants :
- Construire une application décentralisée (dapp) qui communique avec Ethereum. Commencez par l'introduction technique, puis parcourez les comptes et les transactions. Choisissez un framework lorsque vous êtes prêt à écrire du code.
- Écrire un contrat intelligent. Parcourez l'introduction si les concepts de l'EVM sont nouveaux pour vous, puis passez aux contrats intelligents et à un langage de programmation.
- Exécuter un nœud ou faire du staking. Allez aux nœuds et clients, puis au réseau et aux mécanismes de consensus.
- Comprendre le protocole de bas en haut. Les modules ci-dessous sont ordonnés à cet effet. Lisez-les dans l'ordre.
Modules de développement
S'il s'agit de votre première tentative de développement sur Ethereum, nous vous recommandons de commencer par le début et de progresser comme s'il s'agissait d'un livre.
Sujets fondamentaux
- Introduction à Ethereum – Un aperçu rapide d'Ethereum
- Introduction à l'ether – Un aperçu rapide de l'ether
- Introduction aux dapps – Une introduction aux applications décentralisées
- Web2 vs Web3 – Les différences fondamentales qu'offrent les applications basées sur la chaîne de blocs
- Comptes – Entités du réseau pouvant détenir un solde et envoyer des transactions
- Transactions – Transferts et autres actions qui provoquent le changement de l'état d'Ethereum
- Blocs – La façon dont les transactions sont regroupées pour s'assurer que l'état est synchronisé entre tous les acteurs
- Machine virtuelle Ethereum (EVM) – L'EVM gère tous les calculs sur le réseau Ethereum
- Gaz – Puissance de calcul requise pour traiter les transactions, payée en ETH par les expéditeurs de transactions
- Nœuds et clients – Les individus participant au réseau et les logiciels qu'ils exécutent pour vérifier les transactions
- Réseaux – Implémentations d'Ethereum, y compris les réseaux de test
- Mécanismes de consensus – Comment les nœuds individuels d'un réseau distribué s'accordent sur l'état actuel du système
Pile Ethereum
- Introduction à la pile – Un aperçu de la pile Ethereum/Web3
- Contrats intelligents – Programmes qui résident à une adresse Ethereum et exécutent des fonctions lorsqu'ils sont déclenchés par des transactions
- Langages des contrats intelligents
- Anatomie des contrats intelligents
- Bibliothèques de contrats intelligents
- Tester les contrats intelligents
- Compilation de contrats intelligents
- Déploiement de contrats intelligents
- Nommer les contrats intelligents
- Vérifier les contrats intelligents
- Mettre à niveau les contrats intelligents
- Sécurité des contrats intelligents
- Vérification formelle des contrats intelligents
- Composabilité
- Réseaux de développement – Environnements locaux de chaîne de blocs utilisés pour tester les dapps avant le déploiement
- Frameworks de développement – Outils qui facilitent le développement avec Ethereum
- API de clients Ethereum – Bibliothèques pratiques qui permettent à votre application web d'interagir avec Ethereum et les contrats intelligents
- Données et analyses – Comment les données de la chaîne de blocs sont agrégées, organisées et implémentées dans les dapps
- Stockage – Structures et mécanismes de stockage décentralisés
- Environnements de développement intégrés (IDE) – Les meilleurs environnements pour écrire le code d'une dapp
- Langages de programmation – Comment démarrer avec Ethereum en utilisant des langages que vous connaissez peut-être déjà
Avancé
- Ponts – Un aperçu des ponts pour les développeurs
- Standards – Protocoles convenus pour maintenir l'efficacité et l'accessibilité des projets pour la communauté
- Valeur extractible maximale (MEV) – Comment la valeur est extraite de la chaîne de blocs Ethereum au-delà de la récompense de bloc
- Oracles – Comment les informations sont injectées dans la chaîne de blocs Ethereum
- Mise à l'échelle – Méthodes pour préserver la décentralisation et la sécurité à mesure qu'Ethereum se développe
- Disponibilité des données – Un aperçu des problèmes et des solutions liés à la disponibilité des données dans Ethereum
- Couche réseau – Explication de la couche réseau d'Ethereum
- Structures de données et encodage – Explication des structures de données et du schéma d'encodage utilisés dans la pile Ethereum