PROGRAMMA DEL CORSO:
Solidity 1o1
Adesso non ci resta che andare a fondo a quello che è il cambio di paradigma nello sviluppo back-end di una web application: gli smart contracts! Solidity è il linguaggio di programmazione comunemente utilizzato nello sviluppo di smart contracts su ethereum e anche in altri fork o blockchain like ethereum.
- Types & Variables
- Functions
- Modifiers
- Events & Logs
- Interfaces
- Standard of token: ERC20, ERC721, ERC1155
- Eliminazione reale di un item
Blockchain Setup Enviroment
Successivamente struttureremo un developer setup enviroment cosi da avere tutto l’occorrente per sviluppare le nostre dapp in maniera strutturata ed efficace garantendo un ambiente pulito e che da la possibilità di testare a fondo le funzionalità sviluppate. (Linux VM, Node, npm, VS Code, Truffle, Ganache, Remix, Metamask, Infura)
- Installazione di una distro linux, nodejs e npm
- Installazione di ganache gui e truffle
- Installazione e primo approccio a metamask,remix ed infura
- Setup di un progetto react, test di connessione a metamask
Web3 library 1o1
Esercizi pratici nell’utilizzo della libreria web3 necessaria per interfacciarsi con il provider della blockchain di ethereum.
- Introduzione alla libreria web3
- Connessione e testing della libreria da terminale
Smart Contract Oracle
Analizzeremo uno degli aspetti cardine delle realtà decentralizzate: gli oracoli, fonte di verità incorruttibile che forniscono ad altri smart contract, se richiamati, dati esenti da eventuale corruzione e manipolazione.
- Introduzione agli oracoli
- Implementiamo il nostro oracolo con chainlink
- Implementiamo il nostro oracolo con provable things
Notarizziamo su blockchain: Notarization Dapp (Ethereum)
Sviluppiamo una semplice dapp di notarizzazione documenti su blockchain: Svilupperemo lo smart contract, deploy & testing, strutturemo il frontend e analizzeremo due approcci di richiamo allo smart contract: da metamask e infura.
- Intro ed Inizializzazione del progetto con truffle
- Sviluppo dello smart contract
- Implementazione delle funzioni che richiamano lo smart contract
Stacking Dapp (Ethereum)
Svilupperemo una dapp per lo stacking di fondi con earning di fee in base alla tempistica di locking dei fondi bloccati.
- Intro ed Inizializzazione del progetto con truffle
- Sviluppo dello smart contract, Prima parte
- Sviluppo dello smart contract, Seconda parte
- Implementazione delle funzioni che richiamano lo smart contract
Sviluppiamo Dapp utilizzando protocolli di altri
Svilupperemo dei piccoli POC utilizzando smart contracts di altre realtà già presenti nell’ecosistema di ethereum come Seed Venture, Aave, MakerDao.
- Intro ed Inizializzazione del progetto react
- Implementazione dei custom hooks per il richiamo degli smart contracts
- Implementazione delle funzioni che richiamano gli smart contracts
Deploy di una dapp in produzione
Analizzeremo step by step gli aspetti da tenere conto per effettuare il deploy di una dapp nel world wide web.
- Auditing by mythx
- Deploy su Vercel
Bonus Track: DEFI Exploitation
Faremo un’analisi accurata sulle vulnerabilità che potrebbero affliggere i vostri smart contracts e effettueremo una fase di exploitation in un ambiente protetto per conoscere come potrebbero essere sfruttate tali vulnerabilità da eventuali malintenzionati.
- Manipulation Oracle
- Reentrancy Attack
- Trojan Token
Durata: 31 lezioni