solidité, est la langage de programmation qui a commencé à rendre les DApps possibles à partir de Ethereum, en permettant aux développeurs de créer facilement des applications distribuées complexes qui tirent pleinement parti de l'EVM d'Ethereum.

El nom de Solidité fait référence à un langage de frappe statique de haut niveau avec lequel ils peuvent être programmés contrats intelligents pour le réseau Ethereum. Sa syntaxe est très similaire à celle des lengaujes bien connus sous le nom de C + + o javascript. Solidity a été créé dans le but de permettre l'écriture de contrats intelligents de manière simple pour le réseau Ethereum. C'est un langage conçu pour tirer pleinement parti de la Machine virtuelle Ethereum, permettant la création et le développement de des contrats intelligents qui peuvent être exécutés de manière optimale dans l'EVM.

Pour cela, le programmeur peut développer ses applications dans un langage facile à utiliser, lire et maintenir afin que, une fois terminé, le moteur Solidity convertisse ce code simple en code machine que l'EVM comprendra, code machine pratiquement impossible à comprendre par un la personne.

En substance, Solidity facilite le développement de contrats intelligents sur Ethereum et, bien que ce ne soit pas le seul langage, c'était le premier, le plus polyvalent et sur lequel plus de contrats intelligents ont été développés.

Logo de solidité

Solidity, un langage complet de Turing

La principale caractéristique de Solidity est que ce langage de programmation est de type turing Complété. Grâce à Solidity et à sa relation avec EVM, les développeurs peuvent créer des programmes Turing Complete. En effet, EVM a la capacité de exécuter tout code défini par un développeur dans le cadre de ses capacités.

Cela représente un grand avantage pour le réseau Ethereum. Grâce à EVM et Solidity, les développeurs peuvent programmer des actions qui seront ensuite exécutées par EVM de manière décentralisée sur le réseau Ethereum. Mais cela implique également qu'un mécanisme de protection doit être en place pour empêcher son utilisation abusive. Ce mécanisme est connu sous le nom de Essence et il sert à empêcher le système de tomber en panne en raison de la création de boucles infinies ou d'autres actions malveillantes. est Essence fonctionne comme le frais de calcul qui implique le traitement d'une transaction ou d'un contrat intelligent sur le réseau.

Le concept ressemble, par exemple, à ce qui a été conçu par Adam Back avec son système de lutte contre le spam par e-mail, le HashCash.

Importance et développement de la Solidité

Ethereum est né comme une alternative au réseau Bitcoin. Votre créateur, Vitalik Buterin À l'époque, il proposait d'intégrer un langage de type Turing Complete au réseau Bitcoin. Puisqu'il considérait que le langage avec lequel Bitcoin était développé était insuffisant pour l'évolution du réseau. Mais n'ayant reçu aucune réponse des développeurs, Buterin a décidé de créer et de développer son propre projet: Ethereum.

Aujourd'hui, Bitcoin et Ethereum sont les réseaux les plus précieux, connus et utilisés par la communauté des crypto-monnaies. Occupant respectivement la première et la deuxième place. Cependant, Bitcoin et Ethereum ont de grandes différences. Par exemple, le bitcoin, la monnaie du réseau Bitcoin, a été créé comme moyen de paiement et de stockage de valeur. Alors qu'Ethereum a été développé dans le but d'être beaucoup plus flexible et programmable, lui permettant d'évoluer avec de nouvelles capacités au fil du temps.

Ceci grâce à EVM et Solidity, les deux outils qui permettent aux développeurs de tirer le meilleur parti d'Ethereum. Avec Solidity, la tâche de développer applications distribué (DApps) ou d'autres fonctions qui utilisent des contrats intelligents.

Le développement d'Ethereum a commencé comme une idée dans l'esprit de Bois Gavin en 2014. L'idée s'est matérialisée par Christian reitwiessner avec une équipe de travail. Le résultat de ce travail a conduit à Solidity. Depuis, le développement de Solidity a poursuivi son évolution et est actuellement en Version 0.7.4 de langue (novembre 2020).

Caractéristiques

  1. Solidity est un type de langage orienté objet (OO) comme C ++ et C #.
  2. Il a été spécifiquement conçu pour développer des applications pour le réseau Ethereum. Alors lancez-vous simplement sur le blockchain Ethereum ou dérivés compatibles.
  3. Un avantage de ce langage est que le code source des programmes créés avec lui est accessible publiquement depuis la blockchain. Même en bytecode, il est possible de le décompiler et d'obtenir un échantillon assez clair du code source original.
  4. Supports de solidité patrimoine et la héritage multiple, ce qui lui confère une grande flexibilité lors de la programmation d'éléments complexes.
  5. Ce langage fournit également une série de bibliothèques très utiles qui facilitent la programmation de contrats intelligents, rendant le code réutilisable et plus facile à maintenir.

Que savez-vous, cryptonuta?

Solidity est-il le seul langage de programmation disponible pour Ethereum et son EVM?

FAUX!

Solidity n'est pas le seul langage de programmation disponible pour Ethereum et son EVM. Il existe d'autres options comme LLL (Low-Level Language) ou Vyper qui peuvent également être utilisées pour programmer des DApp dans Ethereum.

Environnements de développement disponibles

Comme presque n'importe quel langage de programmation, Solidity peut exploiter les avantages d'un environnement de développement intégré ou IDE. Dans Ethereum, l'IDE officiel est connu sous le nom de Remix. Cela permet aux développeurs de créer plus facilement des contrats intelligents, tout en permettant l'accès au statut et aux propriétés des contrats intelligents déjà créés. Il dispose également de puissants outils d'analyse et de vérification du code pour aider les développeurs à déboguer leurs programmes.

Remix peut également être exécuté et utilisé en ligne via Firefox ou Chrome ou directement sur notre ordinateur. Et bien qu'il s'agisse de l'IDE officiel d'Ethereum, il existe également d'autres environnements prenant en charge le langage Solidity. Par exemple, Studio Ethereum est un IDE spécialisé qui donne accès à un environnement Ethereum complet via un interpréteur de commandes appelé coquille.

  • Visual Studio Code montrant le plugin Solidity
  • IDE Ethereum Remix

De même, nous sommes à Plugin de solidité pour IntelliJ IDEA, un autre IDE créé pour le développement de logiciels compatibles Solidity. Atome est un outil modifiable qui peut être utilisé pour personnaliser n'importe quoi. Nous pouvons trouver un package appelé Éthératome qui utilise la bibliothèque web3.js pour interagir avec un nœud d'Ethereum.

Un autre IDE que nous pouvons trouver est le Plug-in Visual Studio, créé par Microsoft. Cela permet la création et le développement de contrats intelligents via un compilateur Solidity. Il permet également la création d'applications pour Microsoft et des applications Web modernes et des services cloud qui utilisent son service Azure.