Qu’est ce que le solidity programming ?

Les Dapps, autrement appelées applications décentralisées, sont des applications construites sur le réseau peer-to-peer open source d’ Ethereum Blockchain qui utilise des contrats intelligents et des interfaces utilisateur frontales pour créer des plates-formes décentralisées.
Le développement d’une Dapp, comme toute autre application, nécessite la programmation et l’exécution de code sur le système. La programmation Solidity se distingue des autres langages de programmation et est le langage de programmation de choix dans Ethereum.
Solidity est un tout nouveau langage de programmation développé par Ethereum, le deuxième plus grand marché de crypto – monnaie par capitalisation.
Donc, si vous souhaitez en savoir plus sur Solidity Programming et ses concepts, vous êtes au bon endroit. Dans ce didacticiel sur la programmation solide, vous couvrirez divers composants importants de la programmation solide.
Qu’est-ce que Solidity Programming ?
Solidity est un langage de programmation orienté objet créé spécifiquement par l’équipe Ethereum Network pour la construction et la conception de contrats intelligents sur les plateformes Blockchain.
- Il est utilisé pour créer des contrats intelligents qui implémentent une logique métier et génèrent une chaîne d’enregistrements de transaction dans le système de blockchain.
- Il agit comme un outil pour créer du code au niveau de la machine et le compiler sur la machine virtuelle Ethereum (EVM).
- Il a beaucoup de similitudes avec C et C++ et est assez simple à apprendre et à comprendre. Par exemple, un « principal » en C équivaut à un « contrat » en Solidité.
Comme les autres langages de programmation, la programmation Solidity comporte également des variables, des fonctions, des classes, des opérations arithmétiques, la manipulation de chaînes et de nombreux autres concepts.
Évolution de la programmation Solidity
La solidité est un langage relativement nouveau qui se développe rapidement.
- Solidity est actuellement le langage de base sur Ethereum et d’autres blockchains privées opérant sur des plateformes concurrentes, telles que Monax et sa blockchain Hyperledger Burrow qui utilise Tendermint pour le consensus.
- SWIFT a créé une preuve de concept qui s’exécute sur Burrow et utilise Solidity.
Qu’est-ce que l’EVM et les contrats intelligents ?
EVM ou machine virtuelle Ethereum
- La machine virtuelle Ethereum (EVM) fournit un environnement d’exécution pour les contrats intelligents Ethereum.
- Il s’agit principalement d’assurer la sécurité et l’exécution de programmes non fiables grâce à l’utilisation d’un réseau international de nœuds publics.
- EVM est spécialisé dans la prévention des attaques par déni de service et certifie que les programmes n’ont pas accès à l’état de l’autre, ainsi qu’à établir une communication, sans interférence possible.
Contrats intelligents
- Les contrats intelligents font référence à des codes de programme de haut niveau compilés dans EVM avant d’être publiés dans la blockchain Ethereum pour exécution.
- Il vous permet d’effectuer des transactions dignes de confiance sans l’intervention d’un tiers ; ces transactions sont traçables et irréversibles.
- Les langages de programmation couramment utilisés pour créer et écrire des contrats intelligents sont Serpent, Solidity, Mutan et LLL.
Types de données de la programmation solide
Il prend en charge tous les types de données communs vus dans d’autres langages OOP, tels que,
- Boolean – Le type de données booléen renvoie ‘1’ lorsque la condition est vraie et ‘0’ lorsqu’elle est fausse, selon l’état de la condition.
- Entier – Vous pouvez signer ou désinscrire des valeurs entières dans Solidity. Il prend également en charge les exceptions d’exécution et les mots-clés ‘uint8’ et ‘uint256’.
- Chaîne – Les guillemets simples ou doubles peuvent désigner une chaîne.
- Modificateur – Avant d’exécuter le code d’un contrat intelligent, un modificateur vérifie souvent que toute condition est rationnelle.
- Tableau – La syntaxe de la programmation Solidity est similaire à celle des autres langages POO, et elle prend en charge les tableaux à une ou plusieurs dimensions.
En dehors de cela, la programmation Solidity vous permet de « Mapper » des structures de données avec des énumérations, des opérateurs et des valeurs de hachage pour renvoyer des valeurs stockées dans des emplacements de stockage spécifiques.
Comment démarrer avec la programmation Solidity ?
Version Pragma
- Les pragmas sont des directives au compilateur sur la façon de gérer le code. Chaque ligne de code source de solidité doit commencer par un « pragma de version », qui spécifie la version du compilateur de solidité à utiliser.
- Cela empêche le code d’être incompatible avec les futures versions du compilateur qui pourraient introduire des modifications.
Le mot-clé du contrat
Le mot-clé contract déclare un contrat qui encapsule le code.
Variables d’état/déclaration
- Les variables d’état sont écrites sur la Blockchain Ethereum et sont conservées en permanence dans le stockage contractuel.
- La ligne uint public var1 déclare une variable d’état de type uint nommée var1 (entier non signé de 256 bits), c’est très similaire à l’ajout d’un slot dans une base de données.
Une déclaration de fonction
- Il s’agit d’une fonction nommée « set » de type modificateur d’accès public qui prend une variable a et une variable b de type de données uint comme paramètre.
- Il s’agissait d’un exemple de contrat intelligent simple qui met à jour la valeur de var1 et var2. Toute personne ayant accès à la blockchain Ethereum peut utiliser la fonction set pour modifier la valeur de var1 et var2.
- En additionnant les valeurs des variables var1 et var2, il peut calculer la somme des variables.
- Il récupérera et imprimera la valeur de la somme de la variable d’état à l’aide de la fonction « get ».
Comment exécuter le code
Vous pouvez exécuter un programme de solidité de deux manières
- Mode hors-ligne
- Mode en ligne
- Mode hors-ligne
Pour faire fonctionner un smart contract Solidity en mode Offline, il doit remplir trois conditions et suivre quatre actions essentielles :
Conditions
- Téléchargez et installez node.js.
- Installez Truffle dans le monde entier.
- Installez ganache-cli .
Actions
- Créez un projet truffe et mettez en place un réseau de développement pour celui-ci.
- Développez et déployez un contrat intelligent pour cela.
- Depuis la console Truffle, interagissez avec le smart contract.
- Créez des tests pour évaluer les principales fonctionnalités de Solidity.
Mode en ligne
En mode en ligne, l’IDE Remix est généralement utilisé pour compiler et exécuter des contrats intelligents Solidity.
Avantages de la programmation solide
Outre la fonctionnalité principale de la programmation Solidity, il existe de nombreuses autres fonctionnalités fournies par la programmation Solidity qui lui confèrent un avantage sur les autres langages basés sur Ethereum.
- Outre les types de données fondamentaux, la programmation Solidity permet également des types de données complexes et des variables membres.
- Il fournit une interface binaire d’application (ABI) pour activer la sécurité de type. Si le compilateur découvre une incompatibilité de type de données pour une variable, l’ABI génère une erreur.
- Il fait référence à la « Spécification du langage naturel », qui est utilisée pour transformer les spécifications centrées sur l’utilisateur en un langage que les machines peuvent comprendre.