Corso di formazione professionale avanzato sulle tecnologie blockchain, con particolare attenzione a Hyperledger Besu e allo sviluppo di blockchain private per uso interno aziendale e consortile; il corso affronta anche la sicurezza degli smart contract e le metodologie avanzate di sviluppo con Solidity. È rivolto a sviluppatori che hanno già una buona conoscenza delle tecnologie blockchain e che vogliono approfondire lo sviluppo di smart contract e la progettazione di blockchain private.
Il corso è erogabile sia in lingua italiana che in lingua inglese, e può essere tenuto sia in presenza che da remoto.
Per la partecipazione al corso è richiesta un'ottima capacità di programmazione e una conoscenza pregressa delle tecnologie blockchain, di Ethereum e di Solidity e sono consigliate conoscenze di base di JavaScript, Node.js e Docker; è anche richiesto l'accesso ad un computer con sistema operativo Linux, Mac o Windows con WSL2.
I moduli previsti, ciascuno della durata di mezza giornata (4 ore), sono i seguenti:
- Ripasso delle basi di Ethereum
- EVM, Turing completezza, smart contract;
- Wallet, EOA e indirizzi dei contratti;
- Ether e gas;
- Transazioni e blocchi;
- Reti;
- Solidity: vulnerabilità ed attacchi
- Re-entrancy;
- Manipolazione del timestamp;
- Overflow e underflow, prima e dopo Solidity 0.8;
- Denial of Service;
- Invio forzato di ether;
- Solidity: pattern avanzati
- Sospensione e ripresa dei contratti;
- Aritmetica controllata e blocchi
unchecked; - Checkpoint;
- Merkle tree;
- Contratti aggiornabili tramite proxy;
- Reti blockchain private
- Tipologie di reti blockchain;
- Hyperledger Fabric;
- Quorum;
- Hyperledger Besu;
- Consenso e Proof of Authority
- Byzantine Fault Tolerance;
- Proof of Authority;
- Algoritmo Clique;
- Algoritmo Raft;
- Algoritmo IBFT;
- Algoritmo QBFT;
- Implementazione di una rete Hyperledger Besu
- Progettazione di un caso di studio;
- Definizione delle caratteristiche della rete privata;
- Creazione del progetto;
- Generazione dei nodi (bootnode, validatori, membri);
- Configurazione della rete: blocco genesi, nodi statici, permessi;
- Orchestrazione e avvio dei nodi con Docker;
- Smart contract
- Sviluppo di uno smart contract per il caso di studio;
- Pubblicazione dello smart contract sulla rete privata;
- Interazione server-blockchain
- Gestione delle chiavi;
- Application server con Node.js;
- Pubblicazione di transazioni e interazione con lo smart contract;
- Sottoscrizione agli eventi;
Durante lo svolgimento dei moduli saranno proposti esercizi propedeutici all'apprendimento degli argomenti trattati. Per ulteriori informazioni o per richiedere un preventivo è possibile utilizzare il modulo di contatto o scrivere a info@gianmarcotoso.com.