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
1 - JOUR 1 - MATIN / Introduction à Solidity et à l'Environnement Ethereum
2 - 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
3 - Syntaxe de base de Solidity et types de données. (2h)
- Variables, types, structures de contrôle
4 - JOUR 1 - APRES-MIDI / Fondamentaux des Contrats Intelligents
5 - Écriture de contrats intelligents basiques. (2h30)
- Fonctions, modificateurs, événements
6 - Gestion des erreurs et contrôle d'exécution dans Solidity. (1h)
- Exceptions, assertions et require
7 - JOUR 2 - MATIN / Interactions et Dépendances dans les Contrats
8 - Interactions entre contrats. (1h30)
- Appels externes, création de contrats à partir d’autres contrats
9 - Gestion des permissions et de la visibilité. (2h)
- Modificateurs d’accès, propriété des contrats
10 - JOUR 2 - APRES-MIDI / Sécurité et Optimisation
11 - Bonnes pratiques de sécurité pour les contrats intelligents. (2h15)
- Patterns de sécurité, prévention des attaques communes (réentrance, overflow)
12 - 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
13 - JOUR 3 - MATIN / Déploiement et Tests
14 - Testing des contrats intelligents. (1h30)
- Écriture et exécution de tests unitaires avec Truffle et Ganache
15 - Déploiement de contrats sur un réseau Ethereum test (Ropsten, Rinkeby). (2h)
- Utilisation de Truffle ou Remix pour le déploiement
16 - JOUR 3 - APRES-MIDI / Projet Final et Évaluation
17 - Projet de groupe (2h15)
- Développement d’une application DApp complète utilisant Solidity
18 - Présentation des projets et évaluation (1h15)
- Discussion des projets, retour sur les points forts et les points à améliorer, évaluation du module