Commencer à programmer dans Solidity pour créer des contrats intelligents sur Ethereum peut sembler un défi difficile. Cependant, dans cet article, nous voulons vous montrer à quel point il est facile de commencer à développer des contrats intelligents en vous offrant des ressources et une brève entrée dans le monde de la programmation de ce langage puissant.
CComme nous l'avons déjà mentionné, Solidité est le nom d'un langage de programmation de haut niveau, très similaire au célèbre JavaScript, utilisé pour la programmation Web. Cette langue est utilisée pour programmer contrats intelligents ou contrats intelligents pour la blockchain de Ethereum, qui sera exécuté par le EVM.
Plus précisément, Solidity est un langage de haut niveau qui nous permet de programmer facilement pour EVM et qui peut ensuite être compilé bytecode pour enfin s'exécuter sur la machine virtuelle Ethereum. Étant un langage de haut niveau, cela signifie que les développeurs ont un outil simple à programmer. Évitant ainsi la difficulté de programmation en utilisant OP_CODES ou codes d'opération, ou bytecode directement, quelque chose qui se produit dans Bitcoin.
En conséquence, la création de applications décentralisées (DApps) C'est une tâche beaucoup plus simple à effectuer, à réviser et à tester, étant disponible à toute personne ayant des connaissances de base en programmation.
Lancez-vous sur Bit2Me et plongez dans le monde des crypto-monnaies avec une longueur d'avance. Inscrivez-vous facilement et obtenez 5 € GRATUITS sur votre premier achat avec ce lien. N'attendez plus pour rejoindre la révolution crypto ! Inscription
Outils pour démarrer la programmation dans Solidity
Documentation et livres sur la Solidité
Si vous avez de l'expérience en programmation, vous connaissez sûrement l'importance d'avoir une bonne documentation officielle sur les possibilités du langage de programmation que vous utilisez. Eh bien, cette prémisse est pleinement satisfaite avec Solidity. Tout d'abord, la documentation officielle de Solidity est excellente. Dans son Web oficial Vous pouvez trouver toutes les informations techniques dont vous avez besoin sur les potentialités et les améliorations que ce langage présente à chaque nouvelle version. De plus, le développement et l'amélioration du langage sont constants, montrant que la communauté cherche à améliorer et à implémenter de nouvelles fonctions pour rendre la programmation DApps plus facile et plus sûre.
Si vous souhaitez programmer dans Solidity et que vous avez déjà une connaissance préalable de la programmation et du développement dans d'autres langages, c'est le premier endroit où vous devriez aller. Si, par contre, vous n'avez pas de connaissances en programmation et en développement, vous devez d'abord connaître les formes et les opérations de base des langages de programmation pour ensuite démarrer votre apprentissage de Solidity.
D'autre part, deux des livres les plus importants consacrés au développement dans Solidity sont Les bases de la programmation Solidity par Ritesh Modi et Développement de contrat intelligent Ethereum par Mayukh Mukhopadhyay. Les deux livres ont été publiés par Packt et sont destinés à transformer ceux qui s'intéressent au monde de la programmation Solidity du statut de programmeur débutant à celui de programmeur avancé dans ce langage. Si vous voulez en savoir plus sur Ethereum, vous pouvez compléter votre lecture avec Maîtriser l'Ethereum écrit par Andreas Antonopoulos et Gavin Wood.
Si vous réunissez tous ces éléments de lecture, vous commencerez à très bien comprendre ce qu'est Ethereum et comment vous pouvez utiliser efficacement Solidity pour programmer votre premier DApp et peut-être, espérons-le, changer le monde pour le mieux.
Outils de programmation et de débogage
Maintenant, connaître la partie théorique n'est qu'une première étape pour commencer à programmer dans Solidity. Mais c'est une étape sans valeur si vous n'êtes pas en mesure de mettre ces connaissances théoriques en pratique.
Pour rendre cela possible, vous devez disposer d'outils pour programmer et déboguer ce que vous écrivez dans ce langage. Dans ce cas, les IDE ou l'environnement de développement intégré seront votre outil pour y parvenir.
Un IDE est un programme qui a une série intégrée d'outils qui faciliteront votre travail de programmation dans un certain langage. Ces IDE contiennent généralement des vérificateurs de syntaxe, une intégration de bibliothèque, des localisateurs d'erreurs et des modes qui vous permettent de tester votre application avant de la déployer publiquement.
Dans le cas d'Ethereum, il existe deux grands IDE officiellement pris en charge par la communauté. Le premier est Remix. Remix est un IDE Web que nous pouvons utiliser depuis notre navigateur et avec lequel nous pouvons programmer et tester nos applications écrites en Solidity sans avoir à installer quoi que ce soit.
Un autre outil largement utilisé dans le monde du développement sur Ethereum et Solidity est Truffe. En fait, Truffle est de loin l'outil le mieux intégré dans le monde Ethereum pour la programmation Solidity. Mais d'un autre côté, la quantité d'options Truffle en fait un outil complexe à utiliser, surtout si vous commencez tout juste à apprendre, il n'est donc recommandé qu'aux personnes ayant des connaissances plus avancées.
De l'autre côté se trouve ETHFmilieu, un site Web simple qui vous permet d'exécuter du code écrit en Solidity et d'apprendre à programmer de la manière la moins complexe possible. Cependant, si vous souhaitez créer votre propre environnement de programmation à l'aide d'un autre outil, vous pouvez également le faire.
Il existe d'autres IDE et plugins qui vous permettent de le faire. Par exemple, IntelliJ IDEA est un IDE pour plusieurs langages de programmation, spécialement conçu pour la programmation en Java, mais qui peut également être utilisé pour programmer en utilisant Solidity. D'autres outils de développement comme Atom o Visual Studio Code ils vous permettent également d'installer des plugins qui permettent la programmation à l'aide de Solidity. Dans tous ces cas, vous aurez tout ce dont vous avez besoin pour être en mesure de construire votre code Solidity.
Outils de simulation
Un autre outil essentiel pour la planification est d'avoir accès au testnet d'Ethereum. Ceci est nécessaire car vous devriez pouvoir tester votre application dans un environnement très similaire au réel, mais où aucun essai ou erreur ne vous coûte de l'argent.
Pour ce faire, vous pouvez installer un nœud Ethereum et suivre les étapes de configuration pour travailler sur l'un des réseaux de test Ethereum, ou accéder aux réseaux de testnet à l'aide d'un déployeur (déployeur) avec cette capacité pour l'EDI que vous utilisez. L'utilisation d'un réseau testnet vous permettra de placer votre DApp dans un environnement très similaire à celui que vous pourriez trouver dans le réseau principal Ethereum, et ainsi vérifier qu'il fonctionne correctement à tout moment.
Cependant, un moyen plus simple d'y parvenir est Ganache. Ganache est un outil qui vous permet de simuler un nœud Ethereum complet sans les coûts associés à un nœud qui maintient une blockchain entière sur votre ordinateur. Grâce à cela, Ganache est un outil beaucoup plus simple, plus rapide à utiliser et qui obtient les mêmes résultats. De plus, il a une intégration étendue avec Truffle et est facilement intégrable avec d'autres IDE.
Outils de surveillance et d'analyse de la sécurité
Alors que la technologie blockchain est très sécurisée, la sécurité est quelque chose qui nécessite une proactivité à tout moment. Pour cette raison, la communauté derrière Ethereum et Solidity a créé une série d'outils d'analyse qui aident à améliorer considérablement la sécurité du code écrit pour nos contrats intelligents, empêchant ainsi les bugs de nous échapper et finissant par causer des pertes à nos utilisateurs.
Des outils comme MytheX, Mythrill o Alethio sont quelques-unes des options les plus puissantes en ce sens, vous permettant une analyse de sécurité puissante (pour les cas de MythX et Mythril) et pour le suivi de vos contrats intelligents (dans le cas d'Alethio).
Autres ressources d'apprentissage
Bien sûr, ce n'est qu'une petite partie de l'univers des options qui existent dans la communauté Ethereum. Dans ce cas, l'une des compilations les plus complètes d'outils et de ressources d'apprentissage pour Ethereum et Solidity se trouve dans ce référentiel de ConsenSys. Ici, vous pouvez accéder à différentes ressources d'une grande pertinence dans la communauté pour apprendre au maximum à programmer dans Solidity et tirer le meilleur parti de vos connaissances dans cette langue.
Mais que se passerait-il si, au lieu de nommer simplement des outils, nous vous montrions le potentiel de Solidity dans un exemple simple? Eh bien, si vous aimez l'idée, il vous suffit de continuer à lire.
Notre première expérience avec Solidity
Pour notre première programmation Solidity, nous utiliserons Remix.
Notre choix de cet outil répond au fait qu'il nous permet de tester très facilement le code que nous écrivons, ainsi que de nous fournir des sorties de débogage simples et la facilité d'utilisation des différentes versions de Solidity. Dans ce cas, la première chose à faire est d'aller sur ce site Web et de sélectionner le plugin Solidité afin d'avoir toutes les options de programmation et de débogage pour ce langage.
Une fois que vous avez activé le plugin Solidity, vous pourrez voir la section d'informations suivante, et nous pouvons procéder à la création de notre premier programme dans Solidity. Pour cela, vous devez vous rendre à "Explorateur de fichiers" et ajoutez un nouveau fichier que nous appellerons "HelloWorld.sun".
Ok maintenant que nous avons notre code écrit dans Remix, nous procédons à la compilation et à l'exécution. Nous pouvons le faire en remplissant la section Compilateur de solidité. Dans cette section, nous n'aurons qu'à être attentifs à la version de Solidity que nous allons utiliser pour compiler et qui doit être parmi les paramètres du pragma du contrat intelligent. Autrement dit, nous devons sélectionner n'importe quelle version de Solidity entre 0.5.0 et 0.7.0. Une fois cela fait, il ne vous reste plus qu'à appuyer sur le bouton "Compilez HelloWorld.sun."
La prochaine chose sera de mener à bien le déploiement du contrat intelligent, ce que nous pouvons faire en allant dans la section "Déployer et exécuter", dans lequel il faut cliquer sur "Déployer". Déployer un contrat a un coût dans Ethereum, car une transaction réelle est émise avec les informations. Cependant, étant sur un réseau de test, ces éther n'auront aucun coût réel.
En réponse, nous obtiendrons la réponse suivante:
Nous pouvons enfin voir que notre fonction get () est disponible pour interagir avec elle. Si nous cliquons dessus, nous interagissons et nous obtiendrons le résultat attendu (notre message).
Pour voir le message complet, nous pouvons cliquer sur le bouton déboguer et ainsi nous pouvons voir toute la sortie. Dans cette sortie, nous pouvons voir le message que nous avons mis dans le contrat.
Évitez la programmation par programmation
Il est vrai que la meilleure façon d'apprendre quelque chose est de le faire. Et il est important que vous programmiez, mais essayez de donner un sens à ce que vous faites. Essayez donc de le faire avec une idée de projet en tête, avec cela vous vous retrouverez face à des situations réelles à résoudre.
Pour trouver de bonnes idées, il est important de s'imprégner de la culture qui entoure toute la technologie blockchain. Une technologie qui a été créée pour décentraliser tout ce qui est décentralisé. Sûrement, dès que vous y réfléchirez, vous trouverez des situations où quelques-uns monopolisent le pouvoir, prennent des décisions unilatéralement et tout cela sans transparence.
N'oubliez pas que la technologie blockchain a été créée pour créer une planète plus juste, plus démocratique et plus transparente. Tout cela, peu importe qui tombe à travers: les gouvernements, les rois, les religions, les entreprises, ... N'ayez pas peur de résister à tout ce que vous jugez injuste.
Cliquez ici pour ouvrir votre compte utilisateur en espagnol GRATUITEMENT et en toute sécurité et recevoir un cadeau de 5 €.