Corso Blockchain

Basi teoriche, Bitcoin, Ethereum e Smart Contract con Solidity

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 e receive;
  • 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.