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) $ 105,816.35
ethereum
Ethereum (ETH) $ 3,330.26
xrp
XRP (XRP) $ 3.19
tether
Tether (USDT) $ 1.00
solana
Solana (SOL) $ 251.11
bnb
BNB (BNB) $ 691.28
dogecoin
Dogecoin (DOGE) $ 0.369495
usd-coin
USDC (USDC) $ 1.00
cardano
Cardano (ADA) $ 1.00
staked-ether
Lido Staked Ether (STETH) $ 3,318.88
tron
TRON (TRX) $ 0.246784
chainlink
Chainlink (LINK) $ 26.57
avalanche-2
Avalanche (AVAX) $ 36.80
wrapped-steth
Wrapped stETH (WSTETH) $ 3,979.37
sui
Sui (SUI) $ 4.58
wrapped-bitcoin
Wrapped Bitcoin (WBTC) $ 105,657.31
stellar
Stellar (XLM) $ 0.439327
the-open-network
Toncoin (TON) $ 5.21
hedera-hashgraph
Hedera (HBAR) $ 0.331837
shiba-inu
Shiba Inu (SHIB) $ 0.000021
weth
WETH (WETH) $ 3,331.78
polkadot
Polkadot (DOT) $ 6.59
litecoin
Litecoin (LTC) $ 118.70
leo-token
LEO Token (LEO) $ 9.69
bitcoin-cash
Bitcoin Cash (BCH) $ 448.03
bitget-token
Bitget Token (BGB) $ 7.23
official-trump
Official Trump (TRUMP) $ 41.59
uniswap
Uniswap (UNI) $ 13.45
hyperliquid
Hyperliquid (HYPE) $ 23.85
wrapped-eeth
Wrapped eETH (WEETH) $ 3,527.95
pepe
Pepe (PEPE) $ 0.000016
usds
USDS (USDS) $ 0.999810
near
NEAR Protocol (NEAR) $ 5.22
ethena-usde
Ethena USDe (USDE) $ 1.00
aave
Aave (AAVE) $ 361.54
aptos
Aptos (APT) $ 8.79
internet-computer
Internet Computer (ICP) $ 9.80
ondo-finance
Ondo (ONDO) $ 1.34
vechain
VeChain (VET) $ 0.051372
whitebit
WhiteBIT Coin (WBT) $ 28.52
monero
Monero (XMR) $ 221.89
ethereum-classic
Ethereum Classic (ETC) $ 27.14
crypto-com-chain
Cronos (CRO) $ 0.142918
polygon-ecosystem-token
POL (ex-MATIC) (POL) $ 0.449576
render-token
Render (RENDER) $ 7.11
mantle
Mantle (MNT) $ 1.09
dai
Dai (DAI) $ 1.00
okb
OKB (OKB) $ 58.75
algorand
Algorand (ALGO) $ 0.418668
kaspa
Kaspa (KAS) $ 0.137127