Apprendre Solidity
Si vous vous intéressez à la blockchain, à certaines crypto-monnaies, vous avez peut-être déjà essayé de comprendre comment cela fonctionnait et ce qui se trouvait sous le capot. Et se renseigner a pu être plutôt complexe. De nombreuses sources, différents logiciels, langages, architectures, bref : tout un écosystème de développement à intégrer, c'est rarement facile. Apprendre Solidity est un bon moyen de débuter dans le domaine.
Ça tombe bien. Je suis là pour vous aider à y voir plus clair, et vous accompagner dans vos premiers pas. Je vais traiter principalement d’Ethereum, et de Solidity, mais il existe d'autres façons de développer avec la blockchain.
Comprendre Ethereum
Tout d'abord, j'aimerais reprendre avec vous ce qu'est Ethereum. D'après son créateur, Vitalik Buterin :
Ethereum is a platform that makes it possible for any developer to write and distribute next-generation decentralized applications.
Ce qu'il explique, c'est qu'Ethereum est un outil qui permet le développement d'applications décentralisées, immuables, qui ne peuvent être modifiées ou mises hors-service par des acteurs extérieurs. Il permet d'utiliser la blockchain pour certifier le code que nous utilisons pour créer des applications qui peuvent prendre de multiples formes : un Youtube décentralisé, un jeu de cartes dans lequel les utilisateurs possèdent vraiment les cartes qu'ils obtiennent, etc. Le code utilisé est composé de sortes de scripts, les smart-contracts, qui seront déployés sur le réseau en contrepartie de frais, payés par l'intermédiaire du gas.
L'éco-système d'Ethereum est composé de plusieurs outils. Tout d'abord une machine virtuelle, l'EVM (Ethereum Virtual Machine) sur laquelle vos smart-contracts vont tourner. Mais également Solidity, le langage avec lequel vous allez développer vos contrats. Solidity peut être comparé à Javascript, en effet sur la forme les deux langages se ressemblent. Mais il y a beaucoup d'ajouts liés à Ethereum, notamment la notion de paiements aux fonctions, d'adresses et autres joyeusetés. Mais de nombreux outils existent pour simplifier le développement et le déploiement de smart-contracts, Remix qui vous permettra de facilement compiler vos contrats, Truffle suite qui intègre plusieurs outils pour déployer vos applications et les intégrer à une interface graphique, et d'autres encore que vous découvrirez lors de votre apprentissage.
Apprendre Solidity
Si vous voulez apprendre à développer avec Solidity, ou créer votre propre application décentralisée, vous n'avez pas vraiment besoin d’être développeur ou un expert en programmation, mais vous aurez à apprendre. Il n'y a pas de feuille de route précise à suivre, mais je vais vous donner quelques liens vers des ressources que vous pourrez utiliser dans votre apprentissage. Elles seront principalement en anglais, et j'ai également pensé à ceux qui ont du mal avec l'anglais ou qui privilégient les ressources francophones. Apprendre Solidity n'est pas très complexe, malgré l'idée que l'on peut se faire. Toutefois trouver des bonnes ressources sur lesquelles se baser n'est pas forcément aisé.
Je vous conseille de vous lancer dans l'apprentissage en vous fixant un objectif, un projet. Par exemple si vous avez envie de développer votre propre token, ou l'application décentralisée de vos rêves, ce sera plus simple de vous projeter. En fonction de votre objectif, vous n'allez pas chercher les mêmes ressources : certaines vous seront indispensables pour bien maîtriser les tokens Ethereum alors qu'inutiles pour développer votre application décentralisée.
Ressources anglophones
Tout d'abord, il existe ce super guide qui vous accompagnera dans la création et la publication de vos premiers smart-contracts. L'auteur vous accompagne de la programmation des smart-contracts au déploiement sur la blockchain. Il présente les bases de Solidity évidement mais vous apprendrez également la mise en place d'une application décentralisée basique, et quelques conseils pour la rendre plus intéressante.
Également en anglais, ce guide en plusieurs parties va vous permettre de mettre un pied dans le développement des contrats intelligents Ethereum. Il vous fera travailler sur la création d'un contrat à la manière du film Time Out. Il s'agit d'une dystopie dans laquelle chacun échange du temps de vie en lieu et place de monnaie. Facile à lire, il explique ce qu'est Ethereum, le fonctionnement de ce dernier, la nature des smart-contracts. L'avantage de ce tutoriel est qu'il utilise Remix, le compilateur Solidity qui s'utilise sur navigateur web. Ainsi, pas besoin d'installer de programme pour le suivre.
Ressources francophones
Pour ceux qui préfèrent les ressources francophones, Cryptozombie possède une traduction de leur guide sur Solidity, vous découvrirez ce langage à travers la création d'un jeu vidéo décentralisé. L'une des meilleures ressources entièrement gratuite sur le sujet. Vous apprendrez à créer des zombies, et les faire combattre entre eux. L'équipe derrière ce super site a également développé leur jeu de cartes à collectionner décentralisé, qui reprend les smart-contracts de la formation.
J'ai également moi-même créé des tutoriels sur l'utilisation d'Ethereum avec Truffle, la création de smart-contracts et d'interfaces graphiques pour ces derniers. Aucune connaissance en programmation n'est nécessaire pour les suivre : ils vous donnent clé en main des exemples de smart-contracts. Je vous accompagne dans ce guide de programmation de smart-contract, de la première ligne de code à l'interface graphique. Également, si vous souhaitez plutôt découvrir Solidity en créant votre propre token, j'ai pensé à vous avec cet article : développer un token Ethereum.
Voilà ! Vous avez désormais toutes les ressources nécessaires pour participer à la révolution du décentralisé. Ou tout simplement pour mieux comprendre comment fonctionne Ethereum et ses smart-contracts, en espérant vous avoir donné envie d'en découvrir plus. Si vous avez des demandes particulières ou un soucis dans vos projets, n'hésitez pas à me le signaler en commentaire ou sur Twitter.
Je prends également les suggestions d'articles. Développer sur Ethereum est de plus en plus accessible, profitez-en !
Merci pour ce magnifique didactiel très complet qui apporte une idée et une vision claire du processus de développement avec Solidity
Merci beaucoup pour ces informations
Merci pour toutes ces informations