Dernière mise à jour de la page: December 4, 2020
Resources pour les développeurs
Premiers pas
Si vous débutez dans le développement avec Ethereum, vous êtes au bon endroit. Ces guides rédigés par la communauté Ethereum vous présenteront les bases de la stack Ethereum ainsi que les concepts fondamentaux qui peuvent être différents des autres systèmes de développement d'applications dont vous avez l'habitude.
Vous voulez commencer à coder tout de suite? Commencez à construire ici.
Besoin d'une approche plus basique pour commencer ? Consultez nos ressources d'apprentissage.
Ressources utiles
- Getting up to speed on Ethereum 7 Août 2017 - Matt Condon
- Ethereum In Depth, Part 1 11 Mai 2018 - Facu Spagnuolo
- Ethereum In Depth, Part 2 24 Juil 2018 - Facu Spagnuolo
- Ethereum Development Walkthrough, Parts 1-5 14 Jan 2018 - dev_zl
- Ethereum 101, Parts 1-7 13 Fév 2019 - Wil Barnes
- Full Stack Hello World Voting Ethereum Dapp Tutorial 18 Jan 2017 - Mahesh Murthy
- Mastering Ethereum - Un manuel complet disponible gratuitement en ligne 1er Déc 2018 - Andreas Antonopoulos & Gavin Wood
- Ethereum Developer Portal - Everything you need to get started building on Ethereum Mis à jour régulièrement - ConsenSys
- Deconstructing a Solidity Contract 13 Août 2018 - Alejandro Santander & Leo Arias
- Full Stack Dapp Tutorial Series Mis à jour régulièrement - Joshua Cassidy
Les langages des contrats intelligents
Tout programme qui s'exécute sur la machine virtuelle Ethereum (EVM) est communément appelé un « contrat intelligent ». Les langues les plus populaires pour écrire des contrats intelligents sur Ethereum sont Solidity et Vyper, bien qu'il y en ait autres en cours de développement.
Solidity - Le langage le plus populaire sur Ethereum, inspiré par C++, Python et JavaScript.
Vyper - Langage axé sur la sécurité pour Ethereum, basé sur Python.
Vous cherchez d'autres options ?
Ressources spécifiques aux langages
Nous construisons une suite de ressources pour apprendre à développer sur Ethereum dans votre langage de programmation préféré.
- Ethereum pour les développeurs Java
- Ethereum pour les développeurs Python
- Ethereum pour les développeurs JavaScript
- Ethereum pour les développeurs Go
- Ethereum pour les développeurs de Rust
- Ethereum pour les développeurs .NET
- Plus à venir! Vous ne voyez pas votre langage ici? Ouvrez un ticket!
Outils pour les développeurs
Ethereum dispose d'un nombre croissant d'outils pour aider les développeurs à construire, tester et déployer leurs applications. Voici les outils les plus populaires pour vous aider à démarrer. Si vous voulez tout savoir sur tout, consultez cette liste exhaustive.
Frameworks
Truffe - Un environnement de développement, un cadre de test, un pipeline de construction et d'autres outils.
Embark - Un environnement de développement, outil de tests, et d'autres outils intégrés avec Ethereum, IPFS, et Whisper.
Waffle - Un système pour le développement et les tests de contrats intelligents avancés (basés sur ethers.js).
Etherlime - Un système basé sur Ethers.js pour le développement de dapps (Solidity & Vyper), le déploiement, le débogage, les tests, et bien plus encore.
Autres outils
Hardhat - Un task runner pour les développeurs de contrats intelligents sur Ethereum.
OpenZeppelin SDK - La Boîte à outils par excellence pour les contrats intelligents : un ensemble d'outils pour vous aider à développer, compiler, mettre à niveau, déployer, et interagir avec les contrats intelligents.
The Graph - Un protocole permettant d'indexer les données Ethereum et IPFS, et de les extraire en utilisant GraphQL.
Tenderly - Une plateforme pour suivre facilement vos contrats intelligents, qui intègre le suivi d'erreur, des alertes, des indicateurs de performances, et des analyses détaillées des contrats.
Python Tooling - Diverses bibliothèques pour interagir avec Ethereum via Python
Brownie - Un environnement de développement et outil de tests basé sur Python.
web3j - Une bibliothèque d'intégration Java/Android/Kotlin/Scala pour Ethereum.
One Click Dapp - Générer un frontal directement depuis ABI pour développer et tester rapidement.
À la recherche d'autres options ?
Environnements de développement intégrés (IDEs)
Ethereum Studio - IDE basé sur le Web idéal pour les nouveaux développeurs qui cherchent à expérimenter avec des contrats intelligents. Ethereum Studio possède plusieurs modèles, l'intégration de MetaMask, le journal des transactions, et une machine virtuelle Ethereum (EVM) intégrée au navigateur pour vous aider à commencer à construire sur Ethereum le plus rapidement possible.
Visual Studio Code - IDE professionnel multi-plateforme avec support officiel Ethereum.
- Visual Studio Code
- Kit de développement de la Blockchain Azure pour Ethereum
- Plugin Azure Blockchain Workbench
- Échantillons de code
- GitHub
Remix - IDE basé sur le Web avec une analyse statique intégrée et une machine virtuelle de blockchain test.
EthFiddle - IDE Web qui vous permet d'écrire, de compiler et de déboguer votre contrat intelligent.
Vous cherchez d'autres options ?
API JavaScript du frontend
Web3.js - Ethereum JavaScript API.
Ethers.js - Implémentation complète du portefeuille Ethereum et utilitaires en JavaScript et TypeScript.
light.js - Une bibliothèque JS réactive de haut niveau optimisée pour les clients légers.
Web3-wrapper - Alternative Typescript à Web3.js.
Vous cherchez d'autres options ?
API de backend
Infura - L'API Ethereum en tant que service.
Passerelle Ethereum de Cloudflare.
Nodesmith - API JSON-RPC accès au réseau principal et aux réseaux de test Ethereum.
Chainstack - Nœuds Ethereum partagés et dédiés en tant que service.
Stockage
IPFS - Le système de fichiers interplanétaires est un système de stockage décentralisé et de référencement de fichiers pour Ethereum.
Swarm - Une plate-forme de stockage distribuée et un service de distribution de contenu pour la pile Web3 Ethereum.
OrbitDB - Une base de données décentralisée P2P construite sur IPFS.
Outils de sécurité
Sécurité des contrats intelligents
Slither - Un cadre d'analyse statique de Solidity écrit en Python 3.
MythX - Une API d'analyse de sécurité pour les contrats intelligents Ethereum.
Mythril - Un outil d'analyse de sécurité pour le bytecode EVM.
SmartContract.Codes - Un moteur de recherche pour les codes sources Solidity vérifiés.
Manticore - Une interface de ligne de commande qui utilise un outil d'exécution symbolique sur les contrats intelligents et les fichiers binaires.
Securify - Un scanner de sécurité pour les contrats intelligents Ethereum.
ERC20 Verifier - Un outil de vérification utilisé pour vérifier si un contrat est conforme au standard ERC20.
Vérification formelle
Informations sur la vérification formelle
- How formal verification of smart-contacts works 20 Juillet 2018 - Brian Marick
- How Formal Verification Can Ensure Flawless Smart Contracts 29 Janvier 2018 - Bernard Mueller
À la recherche d'autres options ?
Outils de test
Solidity-Coverage - Un outil alternatif de couverture de code Solidity.
hevm - Implémentation de l'EVM spécialement conçue pour le test unitaire et le débogage des contrats intelligents.
Whiteblock Genesis - Une sandbox de test et de développement de bout en bout pour la blockchain.
À la recherche d'autres options ?
Explorateurs de bloc
Les explorateurs de blocs sont des services qui vous permettent de parcourir la blockchain Ethereum (et ses testnets) en recherchant des informations sur les transactions, les blocs, les contrats et toute autre activité sur la chaîne.
Testnets et faucets
La communauté Ethereum maintient plusieurs réseaux de test. Ils sont utilisés par les développeurs pour tester leurs applications dans différentes conditions avant de les déployer sur le réseau principal Ethereum.
Ropsten - Une preuve de travail blockchain, un test peut être extrait.
Rinkeby - Preuve d'autorité blockchain, maintenue par l'équipe de développement de Geth.
Goerli - Preuve d'autorité multi-client de blockchain, construite et maintenue par la communauté Goerli
Clients & Exécution de votre propre noeud
Le réseau Ethereum est composé de nombreux nœuds exécutant un logiciel client compatible. La majorité de ces nœuds exécutent Geth ou Parity, chacun pouvant être configuré de différentes manières en fonction de vos besoins.
Clients
Geth - Clients Ethereum écrits en Go.
Parité - Client Ethereum écrit en Rust.
Panthéon - Client Ethereum écrit en Java.
Nethermind - Client Ethereum écrit en C# .NET Core.
Exécuter votre propre nœud
Ethnode - Exécuter un noeud Ethereum (Geth or Parity) pour le développement local.
Ressources sur les nœuds Ethereum
- Feuille mémo sur la configuration d'un noeud 5 Janvier 2019 - Afri Schoeden
Vous cherchez d'autres options ?
Meilleures pratiques, pratiques et anti-patrons
Contrats intelligents
DappSys - Des blocs de construction sûrs et flexibles pour les contrats intelligents.
Contrats OpenZeppelin - Bibliothèque pour le développement sécurisé de contrats intelligents.
aragonOS - Motifs de mise à niveau & contrôle de permission.
Répertoire des faiblesses des smart contracts
Sécurité
Guide des bonnes pratiques de sécurité des smart contracts
- consensys.github.io/smart-contract-best-practices/
- GitHub
- Collection agrégée de recommandations de sécurité et de bonnes pratiques
Standard de vérification de la sécurité des contrats intelligents (Smart Contract Security Verification Standard (SCSVS))
À la recherche d'autres options ?
Support aux développeurs et formation
Notions générales
Stackexchange Ethereum
ConsenSys Academy - Un cours complet de développement Ethereum ouvert toute l'année et qui peut être suivi à votre propre rythme.
Chatroom Gitter Solidity
Toutes les Chatrooms Gitter Ethereum
Chainshot - Tutoriels de codage dapp basés sur le Web.
Blockgeeks - Des cours en ligne sur la technologie Blockchain.
DappUniversity - Pour apprendre à construire des applications décentralisées sur la Blockchain Ethereum.
B9lab Academy - Un des cours de développement dapp Ethereum les plus anciens et professionnels & offrant d'autres opportunités d'apprentissage pour les auditeurs et les testeurs QA. Avec du tutorat et de la revue de code.
Apprendre en jouant
Cryptozombies - Apprenez à coder des jeux sur Ethereum.
Ethernaut - Wargame basé sur Solidity où chaque niveau est un contrat à pirater.
Capture the Ether - Le jeu sur la sécurité des contrats intelligents Ethereum.
Le Design UI/UX
- Challenge of UX in Ethereum 25 Juin 2018 - Anna Rose
- Designing for blockchain: what’s different and what’s at stake 22 Mars 2018 - Sarah Baker Mills
Rimble UI - Des composants adaptables et des normes de conception pour les applications décentralisées.
Standards
La communauté Ethereum a adopté de nombreux standards utiles aux développeurs. Ces standards sont généralement présentés via les Ethereum Improvement Proposals (EIP), qui sont des propositions d'améliorations dont les membres discutent selon un processus standard.
- Liste des EIPs
- EIP github repo
- Forum de discussion EIP
- Aperçu de la gouvernance Ethereum 31 mars 2019 - Boris Mann
- Liste de lecture de toutes les réunions de développement Ethereum Core (Playlist YouTube)
Certains EIPs se rapportent à des normes au niveau de l'application (par exemple un format standard smart-contract), qui sont introduites en tant que requêtes Ethereum pour commentaire (ERC). De nombreuses ERC constituent les standards essentiels qui sont largement utilisés dans l’écosystème Ethereum.