Dernière mise à jour: mars 06, 2020
↳ Ressources 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.
Besoin d’une approche plus élémentaire ? Consultez ethereum.org/learn.
- 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
↳ Langages des smart contracts
Tout programme exécuté sur la machine virtuelle Ethereum (EVM) est généralement appelé un smart contract ou contrat autonome. Les langages les plus utilisés pour la rédaction de smart contracts sur Ethereum sont Solidity et Vyper, bien que d'autres soient en développement.
↳ Solidity Le langage le plus populaire sur Ethereum, inspiré de C++, Python et JavaScript.
↳ Vyper Langage axé sur la sécurité pour Ethereum, basé sur Python.
↳ À la recherche d'autres options ?
↳ Outils de développement
Ethereum dispose d'un nombre important et croissant d'outils pour aider les développeurs à créer, 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.
↳ Truffle Un environnement de développement, une structure de test, un pipeline de construction et d’autres outils.
↳ Embark Environnement de développement, framework de test et autres outils intégrés à Ethereum, IPFS et Whisper.
↳ Waffle Un framework pour le développement et les tests de smart contracts avancés (fondés sur ethers.js).
↳ Etherlime framework fondé sur Ethers.js pour le développement de dapps (Solidity & Vyper), déploiement, débogage, tests, entre autres.
↳ Buidler Un gestionnaire de tâches pour les développeurs de smart contracts Ethereum.
↳ ZeppelinOS Un framework de développement pour la création de smart contracts évolutifs, et de gestion sécurisée des applications de type smart contract.
↳ À la recherche d'autres options ?
↳ Environnements de développement intégrés (IDE)
↳ Visual Studio Code IDE professionnel multi-plateformes avec un support officiel d'Ethereum.
↳ Remix IDE basé sur le Web avec analyse statique intégrée et une machine virtuelle de test de blockchain.
↳ Superblocs IDE basé sur le Web avec une machine virtuelle dans le navigateur, l'intégration de MetaMask, un logger de transactions et d'autres fonctionnalités.
↳ EthFiddle IDE Web qui vous permet d'écrire, de compiler et de lancer votre smart contract.
↳ Vous cherchez d'autres options ?
↳ API front-end en JavaScript
↳ Web3.js API JavaScript pour Ethereum.
↳ Ethers.js Implémentation complète d'un portefeuille Ethereum, et utilitaires en JavaScript et TypeScript.
↳ light.js Une librairie JS réactive de haut niveau optimisée pour les clients légers.
↳ Web3-wrapper Alternative Typescript à Web3.js.
↳ À la recherche d'autres options ?
↳ API de backend
↳ Infura L'API Ethereum « as a service »
↳ Outils de sécurité
↳ Slither _ Framework d'analyse statique Solidity écrit en Python 3._
↳ MythX API d'analyse de sécurité pour les smart contracts Ethereum.
↳ Manticore Une interface en ligne de commande qui utilise un outil d'exécution symbolique sur les smart contracts et les fichiers binaires.
↳ Securify Scanner de sécurité pour les smart contracts Ethereum.
↳ Plus d'infos 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 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 de smart contracts.
↳ Whiteblock Genesis Une sandbox de test et de développement de bout en bout pour la blockchain.
↳ Vous cherchez 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 gère plusieurs testnets ou réseaux de test. Ceux-ci sont utilisés par les développeurs pour tester leurs applications dans différentes conditions avant de les déployer sur le mainnet, le réseau principal d'Ethereum.
↳ Ropsten Blockchain en preuve de travail, ether de test pouvant être miné.
↳ Rinkeby Blockchain en preuve d'autorité (PoA), maintenue par l'équipe de développement de Geth.
↳ Goerli Blockchain en preuve d'autorité (PoA) multi-clients, construite et maintenue par la communauté Goerli.
↳ Clients : faire tourner 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.
↳ Geth Client Ethereum écrits en Go.
↳ Parity Client Ethereum écrit en Rust.
↳ Ethnode Faire tourner un nœud Ethereum (Geth ou Parity) pour du développement en local.
↳ Ressources sur les nœuds Ethereum
- Node Configuration Cheat Sheet 5 Janvier 2019 - Afri Schoeden
↳ À la recherche d'autres options ?
↳ Bonnes pratiques, patterns et anti-patterns
↳ DappSys Construction de blocs sûrs, simples et flexibles pour smart-contracts.
↳ OpenZeppelin Librairie pour le développement sécurisé des smart contracts.
↳ aragonOS Patterns pour l'évolutivité et le contrôle des permissions.
↳ Répertoire des faiblesses des smart contracts
↳ 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
↳ Vous cherchez d'autres options ?
↳ Support aux développeurs et formation
↳ Stackexchange Ethereum
↳ Chatroom Gitter Solidity
↳ Toutes les Chatrooms Gitter Ethereum
↳ Cryptozombies Apprendre à coder des jeux sur Ethereum.
↳ Chainshot Tutoriels de codage de dapps Web.
↳ Blockgeeks Cours en ligne sur la technologie blockchain.
↳ DappUniversity Apprendre à construire des applications décentralisées sur la blockchain Ethereum.
↳ Ethernaut Wargame basé sur Solidity où chaque niveau est un contrat à pirater.
↳ 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
↳ 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 EIP
- Repo github EIP
- Forum de discussions EIP
- Vue d'ensemble de la gouvernance Ethereum (en anglais) 31 Mars, 2019 - Boris Mann
- Playlist de toutes les rencontres de l'équipe de développement Ethereum (YouTube Playlist)
Certaines EIP concernent les standards au niveau de l’application (par exemple, un format standard de smart contract), il s'agit de requêtes de commentaire présentées via les Ethereum Requests for Comment (ERC). De nombreuses ERC constituent les standards essentiels qui sont largement utilisés dans l’écosystème Ethereum.