130.000 euro annui è lo stipendio di un programmatore in Solidity: impara le basi gratis!

Crypto.it esamina Solidity, il linguaggio di programmazione con cui sono costruiti i contratti intelligenti e le DApp di Ethereum.

Solidity è il linguaggio di programmazione che ha permesso a Ethereum di espandere la tecnologia blockchain oltre le criptovalute peer-to-peer in stile Bitcoin per diventare ciò che uno dei suoi creatori chiama “un computer per l’intero pianeta“.

Il Dr. Gavin Wood – che ha lavorato con Vitalik Buterin per sviluppare Ethereum – ha proposto il linguaggio di programmazione nel 2014. Solidity è il linguaggio degli smart contract che si autoeseguono nel cuore della blockchain di Ethereum. Le app decentralizzate – o DApp – sono essenzialmente contratti intelligenti molto complessi. Solidity è il linguaggio su cui si basa tutto, dalle piattaforme di finanza decentralizzata – o DeFi – ai giochi su blockchain e agli strumenti di gestione della supply chain.

stipendio programmatore solidity blockchain

Fondamentalmente, tutto questo viene eseguito nella cosiddetta Ethereum Virtual Machine – o EVM – ed è costruito utilizzando Solidity. EVM è il motore di calcolo isolato di Ethereum in cui vengono creati ed eseguiti tutti i contratti intelligenti. Immergiamoci.

Pro di Solidity

Solidity ha una serie di punti di forza che hanno contribuito a trasformare Ethereum in un colosso. Per prima cosa, è stato progettato per essere abbastanza semplice da usare da chiunque abbia una conoscenza di base di linguaggi di programmazione come Javascript o C++.

Inoltre i suoi contratti intelligenti sono costruiti su una blockchain, quindi non possono essere modificati o cancellati. Ciò significa che Ethereum è un modo sicuro per fare ciò per cui il team lo ha progettato. Ovvero trasferire qualsiasi cosa abbia valore, utilizzando il noto standard token ERC-20 della blockchain di Ethereum.

Limiti di Solidity

Dobbiamo dire ad onor di cronaca che questo linguaggio è un’arma a doppio taglio. La sua immutabilità significa che qualsiasi contratto intelligente di Solidity deve essere scritto in modo impeccabile. Come amano dire gli esperti di criptovalute: “Code is Law” ovvero “Il codice è legge“. In quanto tale:

  • Gli errori non possono essere corretti.
  • Le transazioni non possono essere annullate.
  • Gli exploit ed i bug possono essere risolti solo aggiornando il codice di Ethereum.

Questo richiede la partecipazione dei singoli nodi, che non sempre è disponibile (almeno non rapidamente).

Questo è stato un problema nel 2016 durante il famigerato attacco hacker a TheDAO che ha prosciugato $60 milioni di dollari utilizzando una vulnerabilità dell’EVM chiamata re-entrancy, uno dei numerosi exploit noti. Un altro hacking famigerato è stato quello del 27 agosto 2021 che ha causato un fork nella blockchain di Ethereum. In entrambi i casi il problema era noto, ma la correzione è stata implementata solo in seguito.

A luglio 2021, il più grande exchange di criptovalute degli Stati Uniti in quel momento – Coinbase – ha rilasciato uno strumento chiamato Solidify, che viene utilizzato per rilevare e classificare i rischi degli smart contract, una specie di audit automatizzato. Come suggerisce il nome dello strumento, il suo obiettivo è migliorare i contratti intelligenti di Solidity trovando potenziali difetti. Questa revisione di Coinbase è sicuramente rigorosa, ma è anche dispendiosa in termini di tempo. Ricordiamo che questa analisi viene fatta per tutti i protocolli proprietari dei nuovi token che lista.

Quanto tempo ci vuole per imparare Solidity?

Solidity è quello che viene chiamato un linguaggio di programmazione orientato agli oggetti (OOP) di alto livello sviluppato e utilizzato principalmente dalla blockchain di Ethereum. Gli OOP consentono agli sviluppatori di creare programmi utilizzando frammenti di codice predefiniti.

Solidity è stato progettato per essere particolarmente intuitivo per chiunque abbia una familiarità di base con altri linguaggi di codifica più tradizionali, inclusi C++, Java, JavaScript e Python. Ciò significa che le persone con esperienza anche minima nei suddetti linguaggi di programmazione impiegherebbero meno tempo per imparare Solidity. Questa pratica potrebbe richiedere da uno a sei mesi.

Ma se non hai idea di come funzioni la programmazione allora la seconda metà di questo articolo potrebbe fare al caso tuo. Esistono numerosi corsi adatti ai principianti per acquisire le basi di Solidity, anche senza un background di programmazione.

Quanto guadagnano gli sviluppatori di Solidity?

Ma prima, perché dovresti investire ore del tuo tempo prezioso imparando a programmare in Solidity, invece di controllare i prezzi della prossima grande memecoin su CoinMarketCap?

Secondo cryptocurrencyjobs.co, lo stipendio base medio per uno sviluppatore Solidity varia da 125.000 a 145.000 euro annui. Data la crescita esplosiva del settore delle criptovalute nel suo insieme e la domanda di posti di lavoro in criptovaluta in aumento, puoi aspettarti che gli sviluppatori di Solidity siano sempre più ricercati.
Chiarito questo aspetto fondamentale, tuffiamoci nell’apprendimento di Solidity con CryptoZombies.

Solidity per i principianti: alla scoperta di CryptoZombie

cryptozombie s
(credits: cryptozombies.io)

Uno dei modi migliori per imparare Solidity è con CryptoZombies, una scuola di programmazione interattiva gratuita utilizzata da oltre 400.000 studenti per imparare a costruire DApp Blockchain tramite un semplice videogioco.

Esistono due programmi: progettazione di contratti intelligenti – base ed intermedio – e Solidity avanzato, che copre il test e l’implementazione di DApp come il gioco di zombie e la creazione di oracoli che permettono di attingere a dati esterni affidabili su cui gli smart contract possono fare affidamento per determinare quando eseguire i comandi.

Lezione di base: creare i tuoi cripto-zombie

La lezione di base inizia con la costruzione dei tuoi zombie, creando un database di singoli zombie sulla blockchain, un metodo per crearne di nuovi e una funzione “DNA” numerica che controlla l’aspetto di ogni zombie e quello delle altre creature che infettano. Tutto questo ha un unico scopo: creare i personaggi.

Ci sono sei lezioni, ciascuna ha da 11 a 15 passaggi che coprono diversi concetti del design di Solidity. Questi passaggi sono pensati per fornire una spiegazione molto semplice di cosa stai facendo e perché lo stai facendo. Inoltre apprenderai le basi del coding vero e proprio che ti guideranno attraverso la creazione del codice del contratto intelligente su cui si fonda il gioco. È proprio qui che hai bisogno di una certa familiarità con la programmazione. In gran parte tutto questo si riduce alla comprensione della terminologia e dei concetti di base: utilizzerai i frammenti di codice creati, ed ogni capitolo ha un pulsante “controlla risposta” che fornisce la risposta giusta se sbagli.

Ad esempio, creerai delle strutture – dando allo zombie un nome e una stringa di DNA – rendendo pubblico il database degli zombie e utilizzando tali informazioni nel DNA. Più difficile a dirsi che a farsi, vedrai.

Concetti avanzati di Solidity su CryptoZombie

Il secondo set di programmi riguarda la creazione di un modo per gli zombie di moltiplicarsi nutrendosi e infettando altre forme di vita, aggiungendo e definendo le dinamiche del gioco. Il cibo degli zombie possono essere umani costruiti nel gioco, ma il piano della lezione crea un modo per infettare dei CryptoKitties. Utilizzerai le informazioni sul DNA per creare nuovi zombie, senza effettivamente danneggiare i costosi NFT. Il che si riduce a imparare come far interagire il tuo contratto intelligente con un contratto esterno.

Tra le altre cose, questo include dare ad un utente specifico delle ricompense e dei privilegi speciali, usando mappature e indirizzi. Quindi si passa alla creazione dell’interfaccia CryptoKitties e alla determinazione del modo in cui i geni estratti da loro creano zombie con nuovi tratti – come le code – da abbinare al colore e alla forma degli occhi, alle tonalità luminose della pelle e al design dei vestiti.

Successivamente ci sono altre lezioni, che coprono questioni che vanno dalla proprietà digitale, al pagamento delle commissioni di transazione su Ethereum.

Lezione avanzata: creazione di zombie NFT 

Parliamo del sistema di battaglia tra zombie ed altre creature. Utilizzando lo standard ERC-721 per creare token non fungibili – NFT – sarai in grado di far fronte alla necessità di creare un sistema che consenta agli utenti di acquistare, vendere e scambiare zombie. Queste lezioni coprono la creazione di un’interfaccia utente front-end che includa tutto, dall’interazione con il portafoglio MetaMask alla gestione delle transazioni.

Le lezioni avanzate riguardano la verifica degli errori dei contratti intelligenti, l’implementazione dei contratti intelligenti e la creazione di oracoli.

Ulteriori lezioni

Successivamente, il curriculum “Beyond Ethereum” copre blockchain non Ethereum. Stiamo parlando della stablecoin Diem (ex Libra), BNB Chain e la soluzione Zero-Knowledge-Proof: zkSync. Questa soluzione aumenta il livello di sicurezza per i trasferimenti di token, tra le altre cose.

E poi hai un gioco di zombie che ti ha aiutato a imparare a costruire DApp e contratti intelligenti su blockchain. Questa è sempre una buona cosa, dal momento che molte società blockchain sono ostacolate dalla carenza generale di sviluppatori abili a costruire il futuro sulla blockchain.

Gestione cookie