Solidity è il linguaggio di programmazione utilizzato dagli smart contract sulla blockchain di Ethereum. È un linguaggio di programmazione orientato agli oggetti e tipizzato in modo statico.
Solidity utilizza uno schema di versionamento semantico e, al momento della stesura, l'ultima versione è la 0.8.9. Come puoi vedere, il linguaggio utilizza un formato semantico di versionamento XYZ, che indica quanto sono veloci i suoi cambiamenti.
Linguaggi di programmazione come C++ e JavaScript hanno ispirato il linguaggio Solidity. In questa guida, vedrai come puoi scrivere e compilare il tuo primo contratto intelligente.
L'editor dei remix
Ci sono molti editor di testo e compilatori che puoi usare per scrivere codice Solidity, ma il più semplice è Remix . Remix è un IDE online che ti consente di scrivere ed eseguire il debug del tuo codice Solidity. Quando visiti per la prima volta Remix, dovresti vedere una pagina di destinazione simile a quella qui sotto.
Scrivi il tuo primo contratto intelligente
Innanzitutto, fai clic sull'icona Crea nuovo file nella scheda Esplora file. L'icona ha l'aspetto di una pagina di carta con un angolo piegato. Assegna un nome al nuovo file helloWorld.sol . Usa l' estensione .sol per mostrare che il file contiene il codice Solidity.
Ora puoi copiare il codice qui sotto nel tuo nuovo file. Di seguito viene fornita una spiegazione per ciascuna riga.
// SPDX-License-Identifier: GPL-3.0 pragma solidity ^0.8.1; contract FirstContract { uint var1; function set(uint x) public { var1 = x; } function get() public view returns (uint) { return var1; } }
La prima riga mostra la licenza in base alla quale qualcuno può utilizzare e distribuire il software. Il codice nell'esempio sopra utilizza la versione GPL 3.0 . Puoi sostituirlo con qualsiasi altra licenza come la licenza MIT .
La seconda riga mostra una direttiva pragma che dice al compilatore di usare qualsiasi versione di Solidity da 0.8.1 a 0.9.0 ma non includendo 0.9.0. Cioè, da >= 0.8.1 a < 0.9.0.="">
È anche importante includere questa riga per evitare incompatibilità tra il codice e la versione del compilatore.
Correlati: cos'è la solidità e come viene utilizzata per sviluppare contratti intelligenti?
Di solito ci sono modifiche minori, o patch, all'interno delle versioni xy Z. I cambiamenti di rottura sono normalmente presenti in x. Versioni Y .z. Questo è il motivo per cui la direttiva pragma non include la versione 0.9.0 nel codice precedente.
Solidity è un linguaggio orientato agli oggetti. La parola chiave contract sulla riga quattro è simile nell'uso alla parola chiave class in altri linguaggi orientati agli oggetti.
I contratti possono contenere funzioni, variabili di stato e altri tipi avanzati. Il contratto FirstContract contiene un intero senza segno ( unità ) chiamato var1 .
Le due funzioni denominate set() e get() sono funzioni setter e getter, rispettivamente, per la variabile var1 . È possibile definire una funzione con la parola chiave funzione seguita dal nome della funzione e dalle parentesi.
Tra parentesi, puoi dichiarare i parametri che prenderà la tua funzione. Dovresti scriverli in modo simile alle definizioni delle variabili: indica il tipo di dati seguito dal nome del parametro.
Correlati: che cos'è Monero e come protegge la tua privacy?
Notare che le definizioni delle funzioni set() e get() contengono la parola chiave public . Questo dichiara che qualsiasi altro contratto può chiamarli.
Compila e distribuisci
Per compilare il tuo codice, fai clic sul pulsante del compilatore Solidity . Quando passi con il mouse sui pulsanti sul lato sinistro dell'editor, dovresti essere in grado di vedere il nome del pulsante.
Ora fai clic sul pulsante che legge Compile helloWorld.sol . Se il compilatore non rileva errori, avrai compilato con successo il tuo primo contratto intelligente.
Per distribuire il tuo codice, fai clic sul pulsante Distribuisci ed esegui transazioni . Questo pulsante si trova appena sotto il pulsante del compilatore Solidity nel menu a sinistra. In questa pagina, assicurati che il nome del tuo contratto venga visualizzato correttamente sopra il pulsante Distribuisci .
Una volta confermato, ora puoi fare clic su Distribuisci per eseguire il tuo codice sulla rete di test locale corrente, senza costi di transazione.
Creazione di DApp sulla rete Ethereum
Dopo aver appreso come creare contratti intelligenti, la tua prossima tappa dovrebbe essere imparare come creare app decentralizzate (DApp). Si tratta di applicazioni basate su blockchain che vengono eseguite su una rete senza autorizzazione. Questa è la bellezza dei contratti intelligenti di Ethereum.
Avrai la possibilità di creare potenti applicazioni P2P su Ethereum.