ASCENT : 03. Solidity
Organisme
35740 PACEVoir toutes ses formationsAutres organismes proposant cette formation
Durée
Modalités
- Classe virtuelle
- Présentiel
Mise en situation
Prix
Public
Pré-requis
Objectifs pédagogiques
- 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
Programme détaillé
Introduction à Solidity et à la programmation de Smart Contracts (3 heures)Présentation de Solidity : histoire, contexte et pourquoi il est préféré pour EthereumArchitecture de base d'un contrat intelligent et son cycle de vieTravaux pratiques : Installation et configuration de l'environnement de développement Solidity (Remix, Truffle)Travaux pratiques : Écriture et déploiement d'un premier contrat simple sur un réseau de test
Types de données et structures de contrôle en Solidité (4 heures)Types de données spécifiques à Solidity : uint, int, bool, address, bytes, arrays, et mappingsStructures de contrôle : if, else, while, for, et foreachTravaux pratiques : Exercices pratiques pour utiliser divers types de données et structures de contrôle dans des contratsTravaux pratiques : Développement de petits contrats pour manipuler et stocker des données de manière sécurisée
Fonctions, modificateurs et gestion des erreurs (4 heures)Définition et utilisation des fonctions en SolidityModificateurs de fonctions pour contrôler l'accès et les comportementsGestion des erreurs et des exceptions avec require, revert, et assertTravaux pratiques : Création de contrats avec des fonctions complexes et des modificateurs pour gérer les permissionsTravaux pratiques : Simulation de différents scénarios d'erreur et mise en œuvre de la gestion appropriée des exceptions
Déploiement et interaction avec les Smart Contracts (5 heures)Processus de déploiement d'un contrat intelligent sur EthereumUtilisation de Web3.js et d'autres bibliothèques pour interagir avec des contrats depuis des applications webTravaux pratiques : Déploiement de contrats sur un réseau Ethereum (testnet ou mainnet)Travaux pratiques : Écriture d'une interface utilisateur simple en HTML/JavaScript pour interagir avec le contrat
Sécurité des contrats intelligents et bonnes pratiques (5 heures)Principaux risques de sécurité associés aux contrats intelligents Bonnes pratiques de développement en Solidity pour minimiser les vulnérabilitésTravaux pratiques : Analyse et amélioration de contrats existants pour renforcer la sécuritéTravaux pratiques : Utilisation d'outils d'analyse de code pour identifier et corriger les failles de sécurité