Formation Solidity
2880€ HT / personne |
4 jours (28 heures) |
Présentation
Solidity est un langage de programmation orienté objet pour écrire des Smart Contracts. Il est utilisé pour mettre en œuvre des contrats intelligents sur différentes plates-formes basées sur la blockchain telles que Ethereum. Il est basé sur la syntaxe ECMAScript, ce qui en fait un choix familier pour les développeurs Web.
Ethereum est une plate-forme de développement d’applications décentralisées (les dApps), basée sur la technologie Blockchain, sans aucun risque d’interruptions, fraudes et intrusions. Grâce à Ethereum, il est désormais possible de programmer toute une gamme d’applications où il est habituellement nécessaire d’avoir un tiers de confiance (crowdfunding, vote, organisations, cadastre…).
Dans le cadre de cette formation, les participants apprendront à rédiger un Smart Contracts à l’aide de Solidity.
Comme dans toutes nos formations, celle-ci vous présentera la toute dernière version à savoir Solidity 0.8.
Objectifs
- Comprendre la technologie Blockchain, ses enjeux et ses défis
- D’exécuter une transaction sur une Blockchain
- D’utiliser un explorateur de Blockchain
- Rédiger un smart-contract sur L’Ethereum Virtual Machine
- Rédiger et déployer un smart contract sur un des réseaux testnet Ethereum
- Apprendre le développement sur Solidity
- Apprendre à sécuriser et à optimiser son code pour limiter les frais de gas
- Développer et déployer une application décentralisée DApp (Decentralized Application)
Public visé
- Développeurs
- Architectes
- Ingénieurs concepteurs
Pré-requis
- Un bon niveau en programmation
- Un bon niveau en développement web (HTML, CSS, javascript)
- La connaissance logiciel de contrôle de version git est un plus
- La connaissance d’un framework front-end javascript (React, Vue, Svelte, …) est un plus
Pour aller plus loin
Si vous voulez en savoir plus sur les nouveaux enjeux de demain et la décentralisation du web actuel, notre formation Web3 peut vous intéresser.
Programme de la formation Solidity
Jour 1 – Introduction à la blockchain et les bases des Smart Contracts
Introduction à la Blockchain et au Bitcoin
- Contexte historique de la publication du livre Blanc Bitcoin
- Intérêt de la blockchain
- Structure générale des blockchains historiques
- Comparaison avec un registre centralisé
- Exemples d’application
- TP : Utiliser un explorateur de Blockchain Bitcoin
Blockchains de 2ᵉ génération : évolution des cas d’usage
- Qu’est-ce qu’Ethereum ?
- Qu’est-ce qu’un smart-contract
- Les transactions sur Ethereum
- Les smarts contracts sur Ethereum
- Les évolutions du protocole Ethereum
Ethereum par la pratique
- Metamask
- Obtenir de l’Ether
- Utilisation de l’IDE Remix
- Structure d’un smart-contract et exemples
- Estimer les coûts de transaction
- Travaux pratiques
- Rédiger son 1ᵉʳ smart-contract
- Installer le portefeuille numérique metamask
- Obtenir de l’Ether
- Se connecter à une DApp et exécuter une première transaction.
- Échanger de l’ether entre participants.
- Utiliser un explorateur de Blockchain Ethereum
- Déployer un smart contract sur un réseau testnet
- Présentation du projet à réaliser : Système de vote décentralisé
Jour 2 – Solidity
Stocker de la donnée
- Les variables
- Les tableaux
- Mappings
- Choix entre mapping et tableau
- Enumérations
Structure et fonctions
- Structures de contrôle
- Traitement des erreurs
- Évènements
- Fonctions
- Unités et variables globales
Créer du code réutilisable
- Modificateurs de fonctions
- Les EIP / ERC
- La librairie OpenZeppelin
- Importer un fichier
- CryptoZombies – Leçon 1 : Création d’un Zombie et ADN
- CryptoZombies – Leçon 2 : Attaques de Zombies et Propagation
Jour 3 – Sécurité et Déploiement d’une DApp
Bonnes pratiques et sécurité Solidity
- Les attaques les plus connues sur Ethereum
- Appels Externes
- Les bonnes pratiques Solidity
- Optimisation du code Solidity
- Outils de sécurité / Documentation
Développer et déployer sa première DApp (Decentralized Application)
- Utilisation de Hardhat.
- Tests unitaires sur les smart contract.
- Utilisation de la librairie Web3
- Utilisation d’Infura (connexion à un noeud).
- Déploiement d’une DApp.
Travaux pratiques
- CryptoZombies – Leçon 3 : Zombies mangeurs de Kitties
- CryptoZombies – Leçon 4 : Fonctions avancées de Solidity
- CryptoZombies – Leçon 5 : ERC721 et Tokens non fongibles
- Interagir avec les contrats depuis une interface web
- Créer une DApp et la déployer.
- Outils de développement pour Ethereum (Hardhat) et déploiement de contrats sur un réseau local de test
- Interaction avec les contrats déployés (Web3.js, Ethers.js)
Jour 4 – Projet final et clôture
- Travail en groupe sur le projet fil rouge
- Rétrospective
Langues et Lieux disponibles
Langues
- Français
- Anglais / English
Lieux
-
France entière
- Paris
- Lille
- Reims
- Lyon
- Toulouse
- Bordeaux
- Montpellier
- Nice
- Sophia Antipolis
- Marseille
- Aix-en-Provence
- Nantes
- Rennes
- Strasbourg
- Grenoble
- Dijon
- Tours
- Saint-Étienne
- Toulon
- Angers
-
Belgique
- Bruxelles
- Liège
-
Suisse
- Genève
- Zurich
- Lausanne
-
Luxembourg
Nos Formateurs Référents
Philippe
Une vingtaine d’années d’expérience en développement dont près de 10 comme CTO, je suis développeur expert et j’interviens en conseil, en architecture, ou en data science. J’ai aussi une solide expérience produit et entrepreneuriat.
Témoignages
Top,merci Philippe
Afficher tous les témoignages
Top,merci Philippe
Noter la formation
2880€ HT / personne |
4 jours (28 heures) |
UNE QUESTION ? UN PROJET ? UN AUDIT DE CODE / D'INFRASTRUCTURE ?
Pour vos besoins d’expertise que vous ne trouvez nulle part ailleurs, n’hésitez pas à nous contacter.
ILS SE SONT FORMÉS CHEZ NOUS