7 min read

Solidity: linguaggio di programmazione

Di Gabriele Brambilla

Tra i linguaggi utilizzati in ambito blockchain, Solidity occupa un posto d'onore. È arrivato il momento di conoscerlo meglio.

Solidity: linguaggio di programmazione

Non solo criptovalute...

… ma anche un po’ di parte tecnica: oggi conosciamo meglio Solidity, il linguaggio di programmazione dietro Ethereum.

Coin e token, farming, staking, DeFi, NFT, metaverso. La blockchain offre tantissimo e ha ancora nella manica i suoi assi migliori. Tutto ciò è reso possibile dagli smart contract che, a loro volta, sono preparati dagli sviluppatori mediante diversi linguaggi.

Solidity è nato specificatamente per Ethereum, divenendo un punto di riferimento per il settore. Capiamo quali sono i suoi punti di forza, le debolezze e che cosa permette di creare.

Che cos'è e a cosa serve Solidity?

Solidity è un linguaggio di programmazione che permette di sviluppare con relativa facilità degli smart contract. L’unione di più contratti consente di dar vita a svariate DApp (applicazioni decentralizzate) che, nel loro insieme, compongono il panorama DeFi, NFT e molto altro ancora.

Le origini di Solidity derivano dall’esigenza di avere a disposizione un linguaggio privo di grandi limiti, ma al tempo stesso semplice da imparare per chi dispone di solide basi di programmazione. L’obiettivo fu centrato, perché il linguaggio Solidity è effettivamente facile da comprendere per chi lavora già con JavaScript, Python e/o C++.

Inoltre, Solidity è Turing Complete. Ciò significa che può calcolare ogni funzione computabile di Turing. Tradotto: il linguaggio può riconoscere o stabilire set di regole differenti per la manipolazione dei dati.

Vi sono però dei limiti, di cui il più grande è proprio l’immutabilità che offre la blockchain. Quando si compila uno smart contract si deve essere super precisi, pena problematiche su cui non si potrà intervenire dopo la pubblicazione, se non mediante altri smart contract o soluzioni non propriamente pulite. Questo è un problema condiviso anche da altri linguaggi di programmazione blockchain.

Lato sicurezza, anche qui c’è qualche piccolo problema. Di per sé, Solidity va benissimo, ma come dicevamo bisogna scrivere il codice in modo più che perfetto. Se ad esempio confrontassimo Solidity a Rust (il linguaggio dietro le quinte di Solana), troviamo in quest’ultimo maggior sicurezza: la sua superiore complessità lo rende cosa per pochi, inclusi i malintenzionati che sono a caccia di bug per sottrarre i fondi nei modi più disparati.

In ogni caso, Solidity resta comunque il punto di riferimento per lo sviluppo in ambiente Ethereum ed EVM (o macchine compatibili). Se il lavoro viene fatto bene, questo linguaggio è perfetto per creare qualsiasi cosa passi per la mente del blockchain developer… e ne abbiamo già viste di cose interessanti!

"Solidity è un linguaggio di programmazione per lo sviluppo degli smart contract"

Cosa si può fare con Solidity?

Come anticipavamo, Solidity linguaggio permette di fare molte cose, che comunque passano sempre dalla stessa tipologia di creazione: lo smart contract.

Il nome già suggerisce di che si tratta: contratto intelligente. Immaginiamolo davvero come un contratto, ma scritto in maniera più efficiente, articolata e smart. Esso non contiene solo passaggi che obbligano o danno diritto a qualcosa, ma può ospitare anche svariate condizioni che lo articolano e rendono davvero intelligente.

L’unione di più smart contract può dar vita a piattaforme DeFi alla PancakeSwap e Uniswap, marketplace NFT come OpenSea e Blur, soluzioni per l’assicurazione dei fondi, metaversi, ma anche soluzioni personalizzate per aziende, grandi compagnie, organizzazioni e, volendo, privati.

Gli smart contract rappresentano una grande rivoluzione che non solo dà l’addio definitivo alla carta, ma fa scattare in automatico depositi/prelievi di denaro, cessione di diritti/titoli/azioni e davvero tantissimo altro. Le possibilità sono infinite e si possono sviluppare progetti di qualsiasi genere; tutto passa da una tastiera e dalla mente dei developer; in questo scenario, Solidity ha un ruolo di primo piano.

Cosa si può fare con Solidity?

Chi ha inventato Solidity?

La paternità di Solidity viene attribuita a Gavin Wood, co-founder di Ethereum assieme a Vitalik Buterin, ma anche creatore di Polkadot e Kusama.

In realtà, sebbene Wood abbia avuto un ruolo cruciale nell’idearlo, Solidity è stato poi sviluppato dal team di Ethereum, tra cui spiccano Alex Beregszaszi e Christian Reitwiessner.

La licenza del linguaggio Solidity è di tipo GNU General Public License. Secondo i dev, esso è influenzato da C++ e Python.

"Solidity è stato ideato da Gavin Wood e sviluppato dal team di Ethereum"

Per i dev: quanto guadagna un programmatore Solidity?

Abbiamo letto diversi articoli in rete, esplorato forum e pure guardato dei video su YouTube. Come ci si può aspettare, non c’è uno stipendio prefissato e tutto dipende da alcuni fattori tra cui:

  • Azienda
  • Città e Stato
  • Anzianità
  • Esperienza

La forbice è davvero ampia. In alcuni articoli abbiamo letto cifre anche inferiori ai 30.000€ per un lavoro come sviluppatore Solidity in Italia, fino ad arrivare anche a oltre 100.000 all’estero (Canada e Stati Uniti in primis).

Insomma, se sei già un programmatore ne saprai certamente più di noi sul mercato. Per quello che può servire, notiamo un trend tristemente noto: al di fuori del nostro Paese, aumentano stipendi e benefit, anche se spesso pure il costo della vita segue questa strada.

Se sei agli inizi e stai valutando di lavorare nel campo, ci sono tutte le premesse per un forte sviluppo nei prossimi anni. Certo, le sicurezze per ora non ci sono, ma l’industria si sta sviluppando. Potresti informarti ulteriormente e poi fare le tue valutazioni. In ogni caso, ti inviamo un enorme in bocca al lupo!


X

Vuoi essere sempre sul pezzo?

Iscriviti alla newsletter per ricevere approfondimenti esclusivi e analisi ogni settimana.

Se ti iscrivi c’è un regalo per te!

bitcoin
Bitcoin (BTC) $ 97,042.00
ethereum
Ethereum (ETH) $ 3,139.74
tether
Tether (USDT) $ 1.00
solana
Solana (SOL) $ 242.09
bnb
BNB (BNB) $ 612.54
xrp
XRP (XRP) $ 1.12
dogecoin
Dogecoin (DOGE) $ 0.385872
usd-coin
USDC (USDC) $ 1.00
staked-ether
Lido Staked Ether (STETH) $ 3,138.39
cardano
Cardano (ADA) $ 0.781490
tron
TRON (TRX) $ 0.198672
shiba-inu
Shiba Inu (SHIB) $ 0.000024
wrapped-bitcoin
Wrapped Bitcoin (WBTC) $ 96,659.90
the-open-network
Toncoin (TON) $ 5.52
avalanche-2
Avalanche (AVAX) $ 34.23
wrapped-steth
Wrapped stETH (WSTETH) $ 3,712.07
bitcoin-cash
Bitcoin Cash (BCH) $ 523.20
sui
Sui (SUI) $ 3.53
chainlink
Chainlink (LINK) $ 14.67
weth
WETH (WETH) $ 3,135.91
polkadot
Polkadot (DOT) $ 5.70
pepe
Pepe (PEPE) $ 0.000019
leo-token
LEO Token (LEO) $ 8.51
stellar
Stellar (XLM) $ 0.239682
litecoin
Litecoin (LTC) $ 89.97
near
NEAR Protocol (NEAR) $ 5.50
aptos
Aptos (APT) $ 11.62
wrapped-eeth
Wrapped eETH (WEETH) $ 3,301.96
uniswap
Uniswap (UNI) $ 8.86
usds
USDS (USDS) $ 0.996020
crypto-com-chain
Cronos (CRO) $ 0.175534
hedera-hashgraph
Hedera (HBAR) $ 0.125457
internet-computer
Internet Computer (ICP) $ 9.05
ethereum-classic
Ethereum Classic (ETC) $ 26.77
bonk
Bonk (BONK) $ 0.000052
kaspa
Kaspa (KAS) $ 0.152802
render-token
Render (RENDER) $ 7.40
ethena-usde
Ethena USDe (USDE) $ 1.00
bittensor
Bittensor (TAO) $ 481.61
polygon-ecosystem-token
POL (ex-MATIC) (POL) $ 0.440623
whitebit
WhiteBIT Coin (WBT) $ 24.13
dai
Dai (DAI) $ 1.00
mantra-dao
MANTRA (OM) $ 3.58
fetch-ai
Artificial Superintelligence Alliance (FET) $ 1.23
dogwifcoin
dogwifhat (WIF) $ 3.19
monero
Monero (XMR) $ 160.51
blockstack
Stacks (STX) $ 1.95
arbitrum
Arbitrum (ARB) $ 0.705870
filecoin
Filecoin (FIL) $ 4.48
okb
OKB (OKB) $ 44.41