HomeWikiDApps & Smart ContractsCome si usa Solidity di Ethereum

Come si usa Solidity di Ethereum

Per sviluppare dApp, giochi token o qualsiasi progetto sulla blockchain serve un linguaggio di programmazione. Per quanto riguarda la più importante ed utilizzata delle blockchain, Ethereum, Solidity è il linguaggio principale utilizzato per la programmazione di Smart Contract su Ethereum.

Le limitazioni del linguaggio di programmazione di Ethereum: Solidity

solidity smart contract
Solidity è il linguaggio di programmazione più utilizzato per lo sviluppo di smart contract

A differenza dei linguaggi più popolari come java, Solidity ha delle limitazioni date dalla blockchain. Non è possibile memorizzare grandi quantità di dati nelle variabili. Anche il calcolo è limitato dall’utilizzo del gas. Si tratta di un linguaggio progettato appositamente per sfruttare Ethereum Virtual Machine, la cui funzione è quella di consentire l’esecuzione di programmi o smart contract.

È stato creato dai programmatori di Ethereum con la finalità di poter dare vita a contratti intelligenti, che permettono lo sviluppo di ogni transazione sulla blockchain e generano una catena di record di transazione nel sistema blockchain. Come altri linguaggi di programmazione, anche la programmazione Solidity ha variabili, funzioni, classi, operazioni aritmetiche, manipolazione di stringhe e molti altri concetti.

Grazie a questo programma, che è il più versatile ed utilizzato dagli utenti, Ethereum è ancora la blockchain favorita dalla maggior parte degli sviluppatori, malgrado i suoi costi di transazione siano ancora molto alti. Sono molto  meno usati altri  linguaggi di programmazione come Viper, LLL, Mutan Serpent e Semplicity.

Oltre ad essere quello più utilizzato in assoluto e anche l’unico ad essere supportato ufficialmente. La motivazione di sviluppare un linguaggio ad-hoc è data dal fatto che e’ stato studiato proprio per essere impiegato all’interno degli smart-contract. 

Un contratto nel linguaggio di Solidity sarebbe come una sorta di unione di un codice (le funzioni) e dati (il suo stato) che si trovano in uno specifico indirizzo sulla blockchain di Ethereum. Ogni contratto contiene dichiarazioni di variabili di stato, funzioni, modificatori di funzioni, strutture dati ed eventi.

I vantaggi del linguaggio di Solidity

Uno dei vantaggi riconosciuti a questo particolare linguaggio informatico è che il codice sorgente dei programmi realizzati con esso è accessibile pubblicamente dalla stessa blockchain di Ethereum. Pur essendo in bytecode, è possibile decompilarlo e ottenere un campione abbastanza chiaro del codice sorgente originale.

Questo linguaggio fornisce anche una serie di library molto utili che facilitano la programmazione dei contratti intelligenti, rendendo il codice riutilizzabile e più facile da mantenere.

Inoltre, il programma Solidity e la EVM di Ethereum sono definiti Turing complete, ovvero che  può essere utilizzato per simulare qualsiasi macchina di Turing (ideata dal matematico e informatico inglese Alan Turing). Ciò significa che questo linguaggio è in grado di riconoscere o decidere altri set di regole di manipolazione dei dati. 

Vincenzo Cacioppoli
Vincenzo Cacioppoli
Vincenzo è genovese di nascita ma milanese di adozione. E' laureato in scienze politiche. E' un giornalista, blogger, scrittore, esperto di marketing e digital advertising. Dopo una lunga esperienza nel marketing tradizionale, comincia attività con il web e il digital advertising nel 2011 fondando una società Le enfants. Da sempre appassionato di web e innovazione, nel 2018 approfondisce le tematiche legate alla blockchain e alle criptovalute. Trader indipendente in criptovalute dal marzo 2018, collabora con aziende del settore come content marketing specialist. Nel suo blog. mediateccando.blogspot.com, da tempo si occupa soprattutto di blockchain, che considera come la più grande innovazione tecnologia dopo Internet. A novembre è prevista l'uscita del suo primo libro sulla blockchain e il fintech.
RELATED ARTICLES

Stay updated on all the news about cryptocurrencies and the entire world of blockchain.

MOST POPULARS