CONNAISSANCES PREALABLES
- Avoir un bon niveau en programmation et développement web
PROFIL DES STAGIAIRES
- Développeurs, architectes
OBJECTIFS
- A l’issue de la formation, le stagiaire sera capable d’écrire des contrats intelligents avec le langage de programmation Solidity
- Plus précisemment :
- Comprendre les concepts de base de la programmation en Solidity
- Concevoir, coder et déployer des contrats intelligents (smart contracts) en Solidity
- Maîtriser les types de données, les structures de contrôle et les fonctions en Solidity
- Savoir comment déployer et interagir avec des contrats intelligents sur la blockchain Ethereum
- Comprendre la sécurité des contrats intelligents et les bonnes pratiques de développement en Solidity
- Concevoir, mettre en œuvre et déployer une application Blockchain fonctionnelle
METHODES PEDAGOGIQUES
- 6 à 12 personnes maximum par cours, 1 poste de travail par stagiaire
- Remise d’une documentation pédagogique papier ou numérique pendant le stage
- La formation est constituée d’apports théoriques, d’exercices pratiques et de réflexions
METHODES D'EVALUATION DES ACQUIS
- Auto-évaluation des acquis par le stagiaire via un questionnaire
- Attestation de fin de stage adressée avec la facture
FORMATEUR
Consultant-Formateur expert Blockchain
CONTENU DU COURS Blockchain
- JOUR 1 - MATIN / Introduction à Solidity et à l'Environnement Ethereum
- Présentation de Solidity et de ses particularités par rapport à d'autres langages de programmation. (1h30)
- Installation et configuration de l'environnement de développement, incluant Remix, Truffle, et Metamask
- Syntaxe de base de Solidity et types de données. (2h)
- Variables, types, structures de contrôle
- JOUR 1 - APRES-MIDI / Fondamentaux des Contrats Intelligents
- Écriture de contrats intelligents basiques. (2h30)
- Fonctions, modificateurs, événements
- Gestion des erreurs et contrôle d'exécution dans Solidity. (1h)
- Exceptions, assertions et require
- JOUR 2 - MATIN / Interactions et Dépendances dans les Contrats
- Interactions entre contrats. (1h30)
- Appels externes, création de contrats à partir d'autres contrats
- Gestion des permissions et de la visibilité. (2h)
- Modificateurs d'accès, propriété des contrats
- JOUR 2 - APRES-MIDI / Sécurité et Optimisation
- Bonnes pratiques de sécurité pour les contrats intelligents. (2h15)
- Patterns de sécurité, prévention des attaques communes (réentrance, overflow)
- Optimisation du coût du gaz et débogage. (1h15)
- Techniques pour réduire les coûts de transaction et utilisation des outils de débogage Solidity
- JOUR 3 - MATIN / Déploiement et Tests
- Testing des contrats intelligents. (1h30)
- Écriture et exécution de tests unitaires avec Truffle et Ganache
- Déploiement de contrats sur un réseau Ethereum test (Ropsten, Rinkeby). (2h)
- Utilisation de Truffle ou Remix pour le déploiement
- JOUR 3 - APRES-MIDI / Projet Final et Évaluation
- Projet de groupe (2h15)
- Développement d'une application DApp complète utilisant Solidity
- Présentation des projets et évaluation (1h15)
- Discussion des projets, retour sur les points forts et les points à améliorer, évaluation du module