Iniziare a programmare in Solidity per creare contratti intelligenti su Ethereum può sembrare una sfida difficile. Tuttavia, in questo articolo vogliamo mostrarti quanto sia facile iniziare a sviluppare contratti intelligenti offrendoti risorse e un breve ingresso nel mondo della programmazione di questo potente linguaggio.
CCome abbiamo già accennato, Solidity è il nome di un linguaggio di programmazione di alto livello, molto simile al noto JavaScript, utilizzato per la programmazione Web. Questa lingua viene utilizzata per programmare smart contract o contratti intelligenti per la blockchain di Ethereum, che verrà eseguito da EVM.
Più nello specifico, Solidity è un linguaggio di alto livello che ci permette di programmare facilmente per EVM e che può poi essere compilato tramite bytecode per essere finalmente eseguito sulla Ethereum Virtual Machine. Essendo un linguaggio di alto livello, significa che gli sviluppatori hanno un semplice strumento da programmare. Evitando così la difficoltà di programmare usando OP_CODES o codici di operazione, o bytecode direttamente, qualcosa che si verifica in Bitcoin.
Di conseguenza, la creazione di applicazioni decentralizzate (DApps) È un compito molto più semplice da eseguire, rivedere e testare, essendo alla portata di chiunque abbia una conoscenza di base della programmazione.
Inizia su Bit2Me ed entra nel mondo delle criptovalute con un vantaggio. Iscriviti facilmente e ricevi 5€ GRATIS sul tuo primo acquisto con questo link. Non aspettare oltre e unisciti alla rivoluzione crittografica! Registrazione
Strumenti per iniziare a programmare in Solidity
Documentazione e libri sulla Solidità
Se hai esperienza di programmazione, sicuramente conosci l'importanza di avere una buona documentazione ufficiale sulle possibilità del linguaggio di programmazione che stai utilizzando. Ebbene, questa premessa è pienamente soddisfatta con Solidity. Prima di tutto, la documentazione ufficiale di Solidity è eccellente. Nel suo Sito ufficiale Puoi trovare tutte le informazioni tecniche di cui hai bisogno sulle potenzialità e sui miglioramenti che questo linguaggio presenta con ogni nuova versione. Inoltre, lo sviluppo e il miglioramento del linguaggio sono costanti, dimostrando che la comunità cerca di migliorare e implementare nuove funzioni per rendere la programmazione di DApps più facile e sicura.
Se quello che vuoi è programmare in Solidity e hai già conoscenze precedenti di programmazione e sviluppo in altri linguaggi, questo è il primo posto dove dovresti andare. Se invece non hai conoscenze di programmazione e sviluppo, devi prima conoscere le forme e le operazioni di base dei linguaggi di programmazione per poi iniziare il tuo processo di apprendimento su Solidity.
D'altra parte, due dei libri più importanti dedicati allo sviluppo in Solidity lo sono Elementi essenziali della programmazione della solidità di Ritesh Modi e Ethereum Smart Contract Development di Mayukh Mukhopadhyay. Entrambi i libri sono stati pubblicati da Packt e hanno lo scopo di trasformare coloro che sono interessati al mondo della programmazione Solidity da principianti a programmatori avanzati in questo linguaggio. Se vuoi saperne di più su Ethereum, puoi completare la tua lettura con Padroneggiare Ethereum scritto Andreas Antonopoulos e Gavin Wood.
Se metti insieme tutti questi elementi di lettura, inizierai a capire molto bene cos'è Ethereum e come puoi utilizzare efficacemente Solidity per programmare la tua prima DApp e forse, si spera, cambiare il mondo in meglio.
Strumenti per la programmazione e il debug
Ora, conoscere la parte teorica è solo un primo passo per iniziare il tuo modo di programmare in Solidity. Ma è un passo inutile se non sei in grado di portare quella conoscenza teorica alla praticità.
Per renderlo possibile, devi disporre di strumenti per programmare ed eseguire il debug di ciò che scrivi in questa lingua. In tal caso, l'IDE o Integrated Development Environment, sarà il tuo strumento per raggiungere questo obiettivo.
Un IDE è un programma che ha una serie integrata di strumenti che semplificheranno il tuo lavoro di programmazione in un certo linguaggio. Questi IDE generalmente contengono controlli della sintassi, integrazione di librerie, localizzatori di errori e modalità che consentono di testare l'applicazione prima di distribuirla pubblicamente.
Nel caso di Ethereum, ci sono due grandi IDE ufficialmente supportati dalla community. Il primo è Remix. Remix è un IDE web che possiamo utilizzare dal nostro browser e con il quale possiamo programmare e testare le nostre applicazioni scritte in Solidity senza dover installare nulla.
Un altro strumento ampiamente utilizzato nel mondo dello sviluppo su Ethereum e Solidity è Tartufo. Truffle è infatti di gran lunga lo strumento meglio integrato nel mondo Ethereum per la programmazione di Solidity. D'altra parte, la quantità di opzioni di tartufo lo rende uno strumento complesso da usare, soprattutto se stai appena iniziando a imparare, quindi è consigliato solo a persone con conoscenze più avanzate.
Dall'altro lato è ETHFiddle, un semplice sito web che ti permette di eseguire codice scritto in Solidity e imparare a programmare nel modo meno complesso possibile. Tuttavia, se quello che vuoi è creare il tuo ambiente di programmazione usando qualche altro strumento, puoi farlo anche tu.
Esistono altri IDE e plug-in che ti consentono di farlo. Per esempio, IntelliJ IDEA è un IDE per più linguaggi di programmazione, pensato appositamente per la programmazione in Java, ma che può essere utilizzato anche per programmare utilizzando Solidity. Altri strumenti di sviluppo come Atom o Visual Studio Code ti permettono anche di installare plugin che abilitano la programmazione usando Solidity. In ognuno di questi casi, avrai tutto il necessario per poter costruire il tuo codice Solidity.
Strumenti di simulazione
Un altro strumento fondamentale per la pianificazione è avere accesso a testnet di Ethereum. Ciò è necessario poiché dovresti essere in grado di testare la tua applicazione in un ambiente molto simile a quello reale, ma dove nessuna prova o errore ti costa denaro.
Per fare ciò, puoi installare un nodo Ethereum e seguire i passaggi di configurazione per lavorare su una qualsiasi delle reti di test Ethereum, oppure accedere alle reti di testnet utilizzando un deployer con quella capacità per l'IDE che stai utilizzando. L'utilizzo di una rete testnet ti permetterà di mettere la tua DApp in un ambiente molto simile a quello che potresti trovare nella rete Ethereum principale, verificando così che funzioni correttamente in ogni momento.
Tuttavia, un modo più semplice per raggiungere questo obiettivo è ganache. Ganache è uno strumento che ti consente di simulare un nodo Ethereum completo senza i costi associati di avere un nodo che mantiene un'intera blockchain sul tuo computer. Grazie a questo, Ganache è uno strumento molto più semplice, veloce da usare e che ottiene gli stessi risultati. Inoltre, ha un'ampia integrazione con Truffle ed è facilmente integrabile con altri IDE.
Strumenti di monitoraggio e analisi della sicurezza
Sebbene la tecnologia blockchain sia molto sicura, la sicurezza è qualcosa che richiede sempre proattività. Per questo motivo, la comunità dietro Ethereum e Solidity ha creato una serie di strumenti di analisi che aiutano a migliorare notevolmente la sicurezza del codice scritto per i nostri contratti intelligenti, evitando così che i bug ci sfuggano e finiscano per causare perdite ai nostri utenti.
Strumenti come MitoX, mitril o Alethio sono alcune delle opzioni più potenti in questo senso, che ti consentono potenti analisi di sicurezza (per i casi di MythX e Mythril) e per il monitoraggio dei tuoi smart contract (nel caso di Alethio).
Altre risorse di apprendimento
Naturalmente, questa è solo una piccola parte dell'universo di opzioni che esistono nella comunità di Ethereum. In tal caso, una delle raccolte più complete di strumenti e risorse di apprendimento per Ethereum e Solidity può essere trovata in questo repository di ConsenSys. Qui puoi accedere a diverse risorse di grande rilevanza nella comunità per apprendere al meglio come programmare in Solidity e ottenere il massimo dalle tue conoscenze in questa lingua.
Ma cosa succederebbe se invece di nominare solo strumenti vi mostrassimo il potenziale di Solidity in un semplice esempio? Ebbene, se l'idea ti piace non ti resta che continuare a leggere.
La nostra prima esperienza con Solidity
Per la nostra prima programmazione Solidity useremo Remix.
La nostra scelta di questo strumento risponde al fatto che ci consente di testare il codice che scriviamo molto facilmente, oltre a fornirci semplici output di debug e la facilità di utilizzare diverse versioni di Solidity. In tal caso, la prima cosa da fare è visitare questo sito Web e selezionare il plug-in Solidità per avere tutte le opzioni di programmazione e debugging per questo linguaggio.
Una volta attivato il plug-in "Solidity", sarai in grado di vedere la prossima sezione di informazioni e possiamo procedere alla creazione del nostro primo programma in Solidity. Per questo devi andare a "Esplora file" e aggiungi un nuovo file che chiameremo "Ciaomondo.sole".
Ok ora che abbiamo il nostro codice scritto in Remix, procediamo a compilarlo ed eseguirlo. Possiamo farlo compilando la sezione Compilatore di solidità. In questa sezione dovremo solo stare attenti alla versione di Solidity che useremo per compilare che deve essere tra i parametri del pragma dello smart contract. Cioè, dobbiamo selezionare qualsiasi versione di Solidity compresa tra 0.5.0 e 0.7.0. Fatto ciò, tutto quello che devi fare è premere il pulsante "Compila HelloWorld.sun."
Di seguito verrà effettuato il deployment dello smart contract, cosa che possiamo fare andando nella sezione "Distribuisci ed esegui", in cui dobbiamo fare clic su «Dispiega». La distribuzione di un contratto ha un costo in Ethereum, poiché con le informazioni viene emessa una transazione reale. Tuttavia, essendo su una testnet, quegli ether non avranno alcun costo reale.
In risposta otterremo la seguente risposta:
Possiamo finalmente vedere che la nostra funzione ottenere () è disponibile per interagire con lei. Se ci clicciamo sopra, interagiamo e otterremo l'output atteso (il nostro messaggio).
Per vedere il messaggio completo, possiamo fare clic sul pulsante eseguire il debug e così possiamo vedere tutto l'output. In questo output, possiamo vedere il messaggio che abbiamo inserito nel contratto.
Evita la programmazione programmando
È vero che il modo migliore per imparare qualcosa è farlo. Ed è importante programmare, ma cerca di dare un senso a ciò che fai. Quindi prova a farlo con un'idea di progetto in mente, con questo ti troverai ad affrontare situazioni reali da risolvere.
Per trovare buone idee è importante assorbire la cultura che circonda tutta la tecnologia blockchain. Una tecnologia che è stata creata per decentralizzare tutto decentralizzato. Sicuramente, appena pensi, troverai situazioni in cui pochi monopolizzano il potere, prendono decisioni unilateralmente e tutto questo senza trasparenza.
Ricorda che la tecnologia blockchain è stata creata per creare un pianeta più giusto, democratico e trasparente. Tutto questo indipendentemente da chi cade: governi, re, religioni, corporazioni, ... Non aver paura di resistere a tutto ciò che consideri ingiusto.
Clicca qui per aprire GRATUITAMENTE e in tutta sicurezza il tuo conto utente in spagnolo e ricevere un regalo di 5€.