Solidità - Sintassi di base

Un file sorgente Solidity può contenere un numero qualsiasi di definizioni di contratto, direttive di importazione e direttive pragma.

Cominciamo con un semplice file sorgente di Solidity. Di seguito è riportato un esempio di un file 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 prima riga è una direttiva pragma che dice che il codice sorgente è scritto per Solidity versione 0.4.0 o qualsiasi altra cosa più recente che non interrompe la funzionalità fino alla versione 0.6.0, ma non inclusa.

Una direttiva pragma è sempre locale in un file di origine e se importi un altro file, il pragma da quel file non si applicherà automaticamente al file di importazione.

Quindi un pragma per un file che non verrà compilato prima della versione 0.4.0 e non funzionerà nemmeno su un compilatore a partire dalla versione 0.5.0 sarà scritto come segue:

pragma solidity ^0.4.0;

Qui la seconda condizione viene aggiunta utilizzando ^.

Contrarre

Un contratto Solidity è una raccolta di codice (le sue funzioni) e dati (il suo stato) che risiede in un indirizzo specifico su Ethereumblockchain.

La riga uintstoredData dichiara una variabile di stato chiamata storedData di tipo uint e le funzioni set e get possono essere utilizzate per modificare o recuperare il valore della variabile.

Importazione di file

Sebbene l'esempio sopra non abbia un'istruzione di importazione, Solidity supporta le istruzioni di importazione che sono molto simili a quelle disponibili in JavaScript.

La seguente istruzione importa tutti i simboli globali da "filename".

import "filename";

L'esempio seguente crea un nuovo simbolo globale symbolName i cui membri sono tutti i simboli globali da "filename".

import * as symbolName from "filename";

Per importare un file x dalla stessa directory del file corrente, utilizzare import "./x" come x ;. Se usi import "x" as x; invece, è possibile fare riferimento a un file diverso in una "directory di inclusione" globale.

Parole chiave riservate

Di seguito sono riportate le parole chiave riservate in Solidity:

astratto dopo alias applicare
auto Astuccio catturare copia di
predefinito definire finale immutabile
attrezzi in in linea permettere
macro incontro mutevole nullo
di oltrepassare parziale promettere
riferimento trasferibile sigillato taglia di
statico supporti interruttore provare
typedef tipo di deselezionato