Classements
Dix outils de développement blockchain : la liste de 2023

Les outils de développement peuvent faire gagner du temps dans la création d’applications blockchain. Cette liste de 2023 présente dix langages, programmes et catégories d’infrastructure. Leur maintenance varie : certains projets avaient déjà été abandonnés ou étaient en cours d’arrêt.
1. Solidity
Solidity est un langage très utilisé pour les contrats intelligents sur Ethereum et d’autres réseaux compatibles avec l’EVM. Il a été développé dans l’écosystème Ethereum, mais n’est pas le seul langage de programmation blockchain.
Un vaste écosystème de bibliothèques et d’outils contribue à sa popularité. Solidity convient à de nombreuses applications compatibles avec Ethereum, mais n’a pas inventé le concept de contrat intelligent.

Source – Soliditylang.org
Solidity dispose d’une documentation, d’exemples et de bibliothèques abondants. Le code source est compilé en code exécutable par la machine virtuelle Ethereum (EVM). Le lien vers la documentation de la version 0.8.21 correspond à la période initiale de l’article.
2. MetaMask
Pour interagir avec les applications décentralisées, un développeur utilise souvent un portefeuille. MetaMask propose notamment une extension de navigateur et une application mobile pour gérer les comptes, se connecter aux applications et signer les transactions.
Il peut se connecter aux réseaux et aux réseaux de test pris en charge. Changer de réseau ne transfère pas automatiquement les actifs entre blockchains : des fonctions ou services spécifiques sont nécessaires. Le portefeuille n’est pas lui-même un réseau blockchain et ne garantit ni la sécurité ni la liquidité d’une application.
3. Truffle
Truffle était un environnement connu de développement de contrats intelligents Ethereum, pas seulement de jetons ERC-20. Il proposait compilation, déploiement de contrats, liaison de bibliothèques et tests automatisés avec des outils comme Mocha et Chai.
Le 21 septembre 2023, Consensys a annoncé l’arrêt de Truffle et Ganache ainsi que l’archivage public des dépôts de code à partir du 20 décembre 2023. Les utilisateurs ont été orientés notamment vers Hardhat et Foundry. Truffle figure donc ici comme outil historique, et non comme point de départ indispensable et activement maintenu pour de nouveaux projets.
4. Réseaux de test blockchain
Les réseaux de test permettent d’essayer les contrats et applications avant leur déploiement sur le réseau principal. Ils peuvent révéler des problèmes de fonctionnement et d’intégration, mais ne prouvent pas automatiquement sécurité, stabilité ou capacité de montée en charge.
Les réseaux de test publics diffèrent des réseaux locaux de développement. Ganache était une blockchain locale de développement de l’écosystème Truffle, pas un réseau de test public d’Ethereum. La fin de sa maintenance est expliquée plus haut.
Un environnement local permet de contrôler les conditions et d’expérimenter rapidement. Un réseau de test public aide à vérifier les interactions dans un environnement partagé, mais sa charge et ses conditions économiques peuvent différer du réseau principal. Les jetons de test permettent des expériences sans actifs réels du réseau principal ; utiliser un réseau de test ne réduit pas en soi les frais de gas de l’application en production.
5. Blockchain en tant que service (BaaS)
Dans le modèle BaaS, un prestataire gère des parties de l’infrastructure blockchain, par exemple des nœuds ou des réseaux. Cela peut simplifier la mise en place et l’exploitation, mais les coûts et fonctionnalités dépendent du service et des besoins du client.
Le client reste responsable d’aspects tels que la logique applicative, les droits d’accès, la configuration et les tests. Un service cloud géré ne supprime pas automatiquement toutes les tâches de maintenance et de sécurité.
L’intégration aux systèmes existants dépend des interfaces disponibles et des exigences techniques. Amazon (AMZN ) propose AWS Managed Blockchain ; AWS Amplify désigne plutôt des outils pour applications web et mobiles pouvant être intégrés à d’autres services. Microsoft (MSFT ) proposait Azure Blockchain Service, mais ce service précis a été arrêté le 10 septembre 2021. Cela ne signifie pas que tous les services Azure ont cessé. Il faut distinguer ces noms pour évaluer les exemples historiques de l’article.
6. Geth
Geth est le client d’exécution Ethereum implémenté en Go. Il gère notamment les transactions, l’exécution de l’EVM, l’état et les interfaces de programmation. Les développeurs peuvent l’utiliser pour déployer des contrats et lire des informations du réseau.
Depuis le passage d’Ethereum à la preuve d’enjeu en 2022, un nœud complet nécessite aussi un client de consensus. Geth ne crée pas automatiquement de ponts entre réseaux ERC-20 : ERC-20 est une norme de jeton, pas un réseau distinct. Le réseau principal Ethereum ne produit plus ses blocs par minage et les contrats n’ont pas à être écrits en Go.
7. Mist
Mist était un navigateur autonome pour applications décentralisées, doté de fonctions de portefeuille et d’une connexion à un nœud Ethereum. Il différait d’une extension de navigateur et était historiquement disponible pour Linux, macOS et Windows. Exploiter un nœud complet nécessitait un espace de stockage important.
Le 27 mars 2019, les développeurs ont annoncé la fin du support de Mist et Ethereum Wallet. Le dépôt de code a été archivé. Mist n’était donc pas une recommandation actuelle, même en 2023, et son ancien statut officiel ne prouve pas sa sécurité. Il est cité ici pour son rôle dans l’histoire de l’écosystème.
8. Remix IDE
Remix IDE est un environnement de développement, notamment pour Solidity, disponible dans le navigateur et sous forme d’application de bureau. Il accompagne la rédaction, la compilation, l’analyse, les tests et le déploiement des contrats intelligents. On peut commencer par une simulation locale, puis utiliser un réseau de test ou le réseau principal via une connexion compatible. L’outil ne remplace pas une évaluation complète de sécurité.
9. Ethlint
Ethlint, anciennement Solium, vérifie les règles de style et certains problèmes de sécurité dans le code Solidity et peut corriger automatiquement une partie des problèmes. La documentation indique que l’ancien paquet solium n’est plus mis à jour après décembre 2019 et oriente les utilisateurs vers ethlint.
Un linter ne trouve pas toutes les erreurs et ne remplace ni tests ni audits. Une règle de style enfreinte ne fait pas nécessairement planter une application : la mise en forme et les erreurs fonctionnelles sont distinctes. Il faut aussi vérifier la compatibilité avec la version de Solidity utilisée.
10. Solc
Solc est le compilateur Solidity. À partir du code source, il produit notamment du bytecode et une description ABI, utilisée par les applications pour communiquer avec le contrat.
Le compilateur natif est implémenté en C++, tandis que solc-js rend ce même compilateur accessible depuis JavaScript. Cela ne signifie pas que solc compile des contrats écrits en C++ ou en JavaScript : son langage d’entrée est Solidity. Les réglages doivent convenir au contrat et au réseau visé.
Choisir ses outils de développement blockchain
Les dix entrées couvrent différentes étapes du développement. Évaluez fonctionnalités, maintenance et compatibilité avant de choisir. Les outils peuvent faciliter le travail, mais la justesse des contrats exige également recherches, tests et vérifications de sécurité.












