Ethereum Blockchain & Smart Contracts: Workshop - 16 e 23 marzo
Informazioni sull'evento
Descrizione
Giorno 1 - 16 Marzo
Introduzione alla Blockchain (1⁄2 giornata)
- Cos’è e come funziona la Blockchain
- Concetto di database distribuito
- Il consenso
- Full-node e light-node
- Blockchain di Bitcoin e Blockchain di Ethereum, analogie e differenze
- Dimensione del blocco
- Algoritmi di validazione (SHA-256 vs EtHash)
- Programmazione su blockchain
- Proof-of-work, algoritmi e peculiarità
- Proof-of-stake, pregi e difetti
- Programmazione sulla Blockchain di Bitcoin (accenni)
- Opcode e loro funzionamento
Panoramica generale sugli Smart Contract (1⁄4 giornata)
- Interagire con gli smart contracts
- Panoramica dei linguaggi a disposizione
- Concetti generali
Esempi di applicazioni (1⁄4 giornata)
- Voli
- Energy Grid
- Gattini
- Foodchain
Giorno 2 - 23 marzo
Progettazione e scrittura di uno Smart Contract (3⁄4 giornata)
- Introduzione a Solidity e Web3 JS
- Variabili e funzioni all’interno degli smart contract
- Pubblicare uno smart contract
- Esempio: “Hello World” Smart Contract
Oltre gli Smart Contracts (1⁄4 giornata)
- Tecnologie parallele a supporto (IPFS, ecc..)
- Oracoli
Domande e risposte
Il docente: Fabio Fiori
Full stack developer, è esperto in infrastrutture IT, database, security system e crittografia. La sua esperienza ha permesso a Food-chain, in cui ricopre il ruolo di CTO, di implementare la propria blockchain e realizzare una libreria Solidity per la tracciabilità di filiera. Fabio è anche C.E.O. di Squeezol S.r.l., una start-up specializzata in wallet e P2P payments. Durante lo sviluppo del software all'interno di Squeezol si è appassionato al mondo delle criptovalute e della blockchain.
Prerequisiti per il corso
Le competenze minime richieste sono la conoscenza di base della programmazione ad oggetti, non è necessaria conoscenza della blockchain. Proprio per tale motivazione il corso è stato diviso in due giornate, la prima giornata sarà puramente didattica per avvicinarsi al mondo della programmazione su blockchain, mentre il secondo giorno sarà più "pratico", con esempi di smart contract e programmazione in aula.
Lo studente deve avere dimestichezza del paradigma della programmazione con l’utilizzo di classi e dell’utilizzo di variabili tipizzate. Inoltre è richiesta la capacità di gestire strutture e vettori, funzioni e puntatori.
Nota:
Durante la prima giornata parleremo di come utilizzare il ledger come database distribuito, le sue evoluzioni nel tempo, le funzioni di hash per “comprimere” i dati da inserire all’interno della blockchain fino ad arrivare agli smart contract. Questo con l’obiettivo di colmare le lacune che le persone potrebbero avere sulle conoscenze della blockchain e portarli al secondo giorno con tutte le conoscenze