Corso di formazione professionale sulle 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 completezza, smart contract;
- Wallet, EOA e indirizzi dei contratti;
- Ether e gas;
- Transazioni e blocchi;
- Reti;
- Solidity: ambiente di sviluppo e testing
- Configurazione dell'ambiente di sviluppo con Hardhat;
- Creazione di uno smart contract;
- Qualificatori di visibilità;
- Modificatori di accesso;
- Interazione manuale con lo smart contract;
- Testing con Hardhat;
- 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
fallbackereceive;
- Token e OpenZeppelin
- OpenZeppelin (descrizione e installazione);
- Funzioni di utilità;
- 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
viem; - 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 richiedere un preventivo è possibile utilizzare il modulo di contatto o scrivere a info@gianmarcotoso.com.