Formation Blockchain, développer sur Ethereum
Informations générales
Objectifs
Après ce cours, vous serez capable de :
- Coder et déployer un smart contract sur le réseau de test Ethereum
- Coder et déployer sa première DApp (Decentralized Application)
- Apprendre à déployer des nœuds Etherum (publics ou privés)
- Utiliser un explorateur de Blockchain (bitcoin)
- Exécuter une transaction sur une Blockchain
Public
Ce cours s'adresse avant tout aux personnes suivantes :
- Développeurs, architectes et ingénieurs concepteurs.
Prérequis
- Aucun
Programme de la formation
Ethereum est un protocole d'échanges décentralisés permettant la création par les utilisateurs de contrats intelligents grâce à un langage Turing-complet. Ils sont basés sur un protocole informatique permettant de vérifier ou de mettre en application un contrat mutuel consultable publiquement dans une blockchain.
Origines et fondamentaux de la Blockchain et des cryptomonnaies
- Contexte historique de la publication de NAKAMOTO.
- Différences avec une bases de données centralisée.
- Cycle de vie d'une transaction Bloackchain.
- Zoom sur la première application : le bitcoin.
- Quelles limites pour les Blockchain dites "1.0".
- Travaux pratiques : Utiliser un explorateur de Blockchain (bitcoin).
Blockchain et cryptomonnaies 2ème génération : évolution des cas d'usage
- Blockchain 2.0 et Ethereum
- Qu’est ce qu’un smart-contract.
- Les différents types de comptes Ethereum.
- Travaux pratiques : Exécuter une première transaction. Echanger de la cryptomonnaie entre participants.
Déployer un smart contract
- Introduction à la théorie pour connaître et s’aligner sur les termes et les définitions.
- Mise en pratique : utilisation de Metamask.
- Miner et s’échanger des token : comprendre la gestion du gas.
- Rappel théorique clef privée/publique : gestion de la seed.
- OpenZeppelin : comprendre et utiliser l’ERC20/21.
- Utilisation de Remix.
- Travaux pratiques : Apprendre à coder et déployer un Smart Contract sur l'un des réseaux de test public d’Ethereum : le réseau Rinkeby.
Coder et déployer sa première DApp (Decentralized Application)
- Utilisation de Truffle.
- Utilisation de Ganache pour le déploiement local.
- Tests unitaires sur les smart contract.
- Utilisation de l’API Web3 pour Contract ABI.
- Utilisation d’Infura (connexion à un noeud).
- Déploiement d’une DApp.
- Travaux pratiques : Créer une DApp et la déployer.
Initialiser un réseau Ethereum et faire circuler de la valeur
- Rappel sur les différents types de nœud : light node et full node.
- Les différents types de consensus : proof of work, proof of authority.
- Initialisation de la virtual machine.
- Présentation de Parity.
- Utilisation de Geth.
- Cas d’utilisation concrets : blocs non validés, scan.
- Ethereum 2.0 : enjeux et opportunités.
- Cas d'usage par segment (finance, énergie, logistique, agroalimentaire) et interfaçages possibles (big data, IoT, IA).
- Travaux pratiques : Initialiser un nœud, créer un réseau, faire circuler de la valeur.
Méthode pédagogique
Chaque participant travaille sur un poste informatique qui lui est dédié. Un support de cours lui est remis soit en début soit en fin de cours. La théorie est complétée par des cas pratiques ou exercices corrigés et discutés avec le formateur. Le formateur projette une présentation pour animer la formation et reste disponible pour répondre à toutes les questions.
Méthode d'évaluation
Tout au long de la formation, les exercices et mises en situation permettent de valider et contrôler les acquis du stagiaire. En fin de formation, le stagiaire complète un QCM d'auto-évaluation.
Mis à jour le 08/11/2023
