Corso di formazione professionale su tecnologie Blockchain, rivolto ad aziende che vogliono apprenderne le basi teoriche e le applicazioni pratiche per valutarne l'introduzione all'interno dei loro progetti. Il corso è principalmente rivolto a sviluppatori, in quanto il contenuto è estremamente tecnico, ma è possibile costruirne una versione su misura con contenuti più teorici per un pubblico meno operativo.
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; è 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:
- Introduzione alle tecnologie Blockchain
- Componenti di una blockchain;
- Crittografia asimmetrica e firme digitali;
- Wallet, transazioni e mining;
- Tipologie di Algoritmi di Consenso;
- Introduzione a Bitcoin
- Input e Output;
- Chiavi e Indirizzi;
- Wallet e Transazioni;
- Proof of Work e Consenso;
- Introduzione a Ethereum
- EVM, Turing Completeness, Smart Contracts;
- Wallets, EOA e Contract Addresses;
- Ether e GAS;
- Transazioni e Blocchi;
- Networks;
- Solidity: ambiente di sviluppo e testing
- Setup Ambiente di Sviluppo con Truffle;
- Creazione di uno Smart Contract;
- Qualificatori di visibilità;
- Modificatori di accesso;
- Interazione manuale con lo Smart Contract;
- Testing con Truffle;
- Solidity: caratteristiche del linguaggio (prima parte)
- Tipi di dato (value types e reference types);
- Data Location (Memory, Storage e Calldata);
- Struct;
- Accesso alla transazione e al blocco;
- Solidity: caratteristiche del linguaggio (seconda parte)
- Gestione degli errori;
- Eventi;
- Modificatori;
- Ereditarietà;
- Funzioni
fallback
ereceive
;
- Tokens e OpenZeppelin
- OpenZeppelin (descrizione e installazione);
- Utility Functions;
- Token fungibili (ERC20);
- Token non fungibili (ERC721);
- Multi-token standard (ERC1155);
- Deploy e interazione con lo Smart Contract
- Deploy su testnet o mainnet;
- Introduzione alle dApp con
web3.js
; - Introduzione a MetaMask;
- Creazione di una dApp;
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.