Dernière mise à jour: nov. 12, 2019

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.

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

À 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

À 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

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

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.

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.