Solidity - Syntaxe de base

Un fichier source Solidity peut contenir un nombre illimité de définitions de contrat, de directives d'importation et de directives pragma.

Commençons par un simple fichier source de Solidity. Voici un exemple de fichier Solidity -

pragma solidity >=0.4.0 <0.6.0;
contract SimpleStorage {
   uint storedData;
   function set(uint x) public {
      storedData = x;
   }
   function get() public view returns (uint) {
      return storedData;
   }
}

Pragma

La première ligne est une directive pragma qui indique que le code source est écrit pour Solidity version 0.4.0 ou tout autre élément plus récent qui ne rompt pas les fonctionnalités jusqu'à la version 0.6.0, mais non comprise.

Une directive pragma est toujours locale dans un fichier source et si vous importez un autre fichier, le pragma de ce fichier ne s'appliquera pas automatiquement au fichier d'importation.

Donc, un pragma pour un fichier qui ne sera pas compilé avant la version 0.4.0 et qui ne fonctionnera pas non plus sur un compilateur à partir de la version 0.5.0 sera écrit comme suit -

pragma solidity ^0.4.0;

Ici, la deuxième condition est ajoutée en utilisant ^.

Contrat

Un contrat Solidity est un ensemble de code (ses fonctions) et de données (son état) qui réside à une adresse spécifique sur la chaîne Ethereumblockchain.

La ligne uintstoredData déclare une variable d'état appelée storedata de type uint et les fonctions set et get peuvent être utilisées pour modifier ou récupérer la valeur de la variable.

Importer des fichiers

Bien que l'exemple ci-dessus n'ait pas d'instruction d'importation, Solidity prend en charge les instructions d'importation très similaires à celles disponibles en JavaScript.

L'instruction suivante importe tous les symboles globaux de "filename".

import "filename";

L'exemple suivant crée un nouveau symbole global symbolName dont les membres sont tous les symboles globaux de "filename".

import * as symbolName from "filename";

Pour importer un fichier x depuis le même répertoire que le fichier courant, utilisez import "./x" comme x ;. Si vous utilisez import "x" comme x; à la place, un fichier différent pourrait être référencé dans un "répertoire d'inclusion" global.

Mots clés réservés

Voici les mots-clés réservés dans Solidity -

abstrait après alias appliquer
auto Cas capture copie de
défaut définir final immuable
met en oeuvre dans en ligne laisser
macro rencontre mutable nul
de passer outre partiel promettre
référence relocalisable scellé taille de
statique les soutiens commutateur essayer
typedef Type de décoché