Corso di formazione professionale avanzato su tecnologie blockchain, con particolare attenzione a Quorum e allo sviluppo di blockchain private per uso interno aziendale e consorziale; verranno affrontati anche importanti temi legati alla sicurezza degli Smart Contract ed a metodologie avanzate di sviluppo per Solidity. Il corso è rivolto a sviluppatori che hanno già una buona conoscenza delle tecnologie blockchain e che vogliono approfondire le tematiche legate allo sviluppo di Smart Contract e alla 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 Completeness, Smart Contracts
- Wallets, EOA e Contract Addresses
- Ether e GAS
- Transazioni e Blocchi
- Networks
- Solidity: vulnerabilità ed attacchi
- Re-entrancy
- Timestamp manipulation
- Overflow e Underflow
- Denial of Service
- Force Feeding
- Solidity: pattern avanzati
- Pattern di Pause/Restart
- Safe Math
- Checkpoints
- Merkle Trees
- Upgradable Contracts
- 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 Quorum
- Progettazione di un Case Study
- Definizione delle caratteristiche della rete privata
- Creazione del progetto
- Generazione dei nodi (bootstrap, validators, members)
- File di configurazione (
genesis.json
,static-nodes.json
,permissioned-nodes.json
) - Orchestrazione e avvio dei nodi con Docker
- Smart Contract
- Sviluppo di uno Smart Contract per il Case Study
- Pubblicazione dello Smart Contract sulla rete privata
- Interazione server-blockchain
- Key Manager
- Application Server (Node.js)
- Pubblicazione transazioni e interazione con lo Smart Contract
- Subscription a eventi
Durante lo svolgimento dei moduli saranno proposti esercizi propedeutici all'apprendimento degli argomenti trattati. Per ulteriori informazioni o per chiedere un preventivo puoi inviarmi una email.