Ethereum pour les développeurs

Sam Richards
Last edit: @samajammin, September 3, 2020
See contributors
Edit page

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

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é.

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

Ethereum Grid - Une application de bureau pour télécharger, configurer et exécuter des clients et outils Ethereum.

Buidler - 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.

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

À 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

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

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

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.

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.