Introduction
83 Ressources | 204+ Heures
Le développement des Blockchains et des applications décentralisées (Dapps) explose en popularité, certains le qualifient même de prochain paradigme perturbateur, aux côtés d’internet et des téléphones mobiles. La Blockchain est une nouvelle technologie qui fonctionne comme un grand livre numérique décentralisé, géré en pair-à-pair. Plus impressionnant encore, elle résout le problème (supposément) insoluble du “double spending” en utilisant une approche décentralisée (vs. l’approche conventionnelle, centralisée qui implique un tiers de confiance pour surveiller tous les transferts) qui nécessite qu’un problème cryptographique soit résolu mathématiquement dans un délai imparti, ceci est appelé la Preuve de Travail (PoW) et cela garantit que les transactions sont irréversibles et définitives. Des centaines de monnaies cryptographiques (également connues sous le nom de cryptomonnaies) sont actuellement en circulation, les plus répandues étant Bitcoin et Ethereum. Outre le fait d’être simplement des formes numériques de monnaie, certaines sont également des plateformes et des cadres de développement Blockchain. Cette combinaison a conduit à une croissance puissante et à des investissements dans ce domaine.
Parmi les plateformes de développement Blockchain les plus éminentes figurent Ethereum, Hyperledger (Fabric, Iroha, Sawtooth Lake), Multichain, Stellar, Dispatch et NEO. Aux fins de ce parcours d’apprentissage, l’accent sera mis sur la plateforme Ethereum, car la grande majorité des 1 500 monnaies numériques en circulation aujourd’hui sont construites sur la fondation technologique d’Ethereum.
Pourquoi ce cours ?
Si vous êtes un développeur ou un gestionnaire qui a été curieux de savoir de quoi il retourne avec tout ce mouvement Blockchain, alors ce cours est parfait pour vous ! Ce parcours d’apprentissage vous fournira non seulement un aperçu général de l’univers technologique d’Ethereum, mais il pourra être utilisé comme un guide de référence à l’avenir alors que vous développez des technologies de registre distribué (c.-à-d. Blockchain) et des applications décentralisées. Beaucoup de ces apprentissages seront transférables à d’autres plateformes Blockchain et peuvent servir de base pour atteindre vos objectifs de développement.
Pour qui est-ce ?
Ce cours est destiné aux ingénieurs logiciels, informaticiens ou développeurs de produits souhaitant apprendre à construire des applications décentralisées (ou centralisées) en utilisant la technologie Blockchain. Le résultat final peut être un nouveau protocole Blockchain, une cryptomonnaie alternative, ou une application qui fonctionne dans la pile technologique d’Ethereum. Idéalement, ce cours est conçu pour quelqu’un ayant une expérience pratique en Java, C#, Golang ou Python, possédant une maîtrise de Node.js, des dépôts GIT ou de systèmes similaires de gestion de code source.
1.0 Introduction à la Pile d’Applications Blockchain
1.1 Pile d’Applications Blockchain [45m]
Pour réussir en tant que développeurs Blockchain, vous devrez d’abord vous familiariser avec la pile d’applications Blockchain. Les couches sont :
- La couche de base est la couche infrastructure, où se déroulent l’informatique/le stockage/le réseau/la virtualisation, cela peut être en interne ou utiliser une solution Blockchain as a Service (BaaS) établie.
- La couche suivante se concentre sur le réseau et le protocole, décidant quel type de Blockchain vous souhaitez créer (sans permission comme Bitcoin ou Ethereum ou avec permission comme R3), plateforme de développement, nœuds participants au réseau algorithme de consensus (par ex. Preuve de Travail (PoW), Preuve d’Enjeu (PoS), hybride, etc.)
- La couche suivante est la couche des services qui permet le fonctionnement de l’application (une couche au-dessus) et établit les connexions à différentes fonctions telles que les Oracles (API vers des données du monde réel), les contrats intelligents, Multisignature (contrat multi parties), Portefeuilles, Stockages de Fichiers Distribués, et bien plus encore.
- La dernière couche est orientée consommateur ou client, qui est la couche application où se déroulent la logique commerciale et l’interaction utilisateur, et cela nécessite l’utilisation de différents langages de programmation tels que C++, Python, Solidity et Java.
1.2 Interopérabilité des Applications Décentralisées [30m]
Chaque technologie sert un objectif spécifique, et il est toujours une bonne idée de se familiariser non seulement avec votre contribution à la pile d’applications mais aussi de comprendre les différentes technologies interopérables.
1.3 Tables de Hachage Distribuées [10m]
Il y a actuellement une énorme quantité de capital et de financement approuvés et dédiés à l’infrastructure et à l’architecture de la technologie crypto, et à juste titre, la tuyauterie et le câblage numériques doivent être établis avant que quoi que ce soit de significatif puisse être produit. Il est également important d’apprendre sur l’autonomie, la décentralisation, la tolérance aux pannes et l’évolutivité des tables de hachage distribuées (DHT).
1.4 Paysage Technologique [30m]
Cette carte met en évidence certaines des applications éminentes qui fonctionnent sur plusieurs Blockchains telles que les bourses de cryptomonnaies où les monnaies numériques sont échangées, les solutions de traitement des paiements telles que Bitpay et Circle, et les plateformes d’émission (par ex. produit qui vous permet de tokeniser des actifs virtuels pour permettre une transférabilité facile).
Les développeurs Blockchain sont généralement responsables de la conception et de la construction de solutions spécifiques à l’industrie en utilisant la technologie Blockchain ainsi que de diriger et de contribuer à la configuration de l’infrastructure Blockchain et au développement de solutions en utilisant un cadre proéminent. De plus, ils doivent comprendre les exigences fonctionnelles telles qu’applicables à l’industrie cible et les convertir en spécifications système et utilisateur pour le développement. Enfin, ils doivent définir les approches de développement, les meilleures pratiques pour mettre en œuvre les solutions et documenter tous les cadres de développement et les artefacts de conception.
1.5 Structure Typique d’une Équipe d’Application Blockchain
Il est bon de comprendre sur quelle position vous souhaitez d’abord vous concentrer, et pendant que vous évaluez à quelle composante de la pile d’applications Blockchain vous allez contribuer, vous pouvez avoir un aperçu de la manière dont ces constructions fonctionnent. Généralement, vous auriez :
- Front End : se concentrant sur l’interface utilisateur et l’expérience utilisateur, cela impliquerait l’utilisation de HTML pour le développement de produits basés sur le web, CSS Bootstrap pour concevoir les maquettes fournies, et l’utilisation de Javascript, jQuery, AngularJS pour construire toutes les interactions entre le back-end (couche suivante) et l’interface utilisateur ; essentiellement afficher les informations produites en back-end, par ex. fonctionnalité de recherche, actions derrière les boutons, etc.
- Back End : cela impliquerait la configuration du serveur cloud, l’écriture d’API en Python, Node.js, Rails, la construction de la base de données en Mongo, Postgres, Cassandra pour les propriétés ACID, cela dit, dans un monde parfaitement décentralisé, la Blockchain que vous utilisez serait ultimement votre base de données, donc, la conception de la base de données sera dictée par le besoin d’un environnement centralisé vs. décentralisé vs. distribué vs. hybride. Ces API sont ultimement critiques pour la gestion des utilisateurs (tels que les inscriptions, les connexions, les déconnexions, les sessions de navigateur), l’émission et l’utilité derrière les jetons, une API d’explorateur de blocs si nécessaire, une API de tableau de bord pour extraire des données de la base de données, la gestion des portefeuilles (pour envoyer et recevoir des jetons, si applicable), la sécurité et la gestion des permissions, et la création de journaux et d’analyses pour tous les événements possibles. journaux/analyses pour tous les événements.
- Plateforme-Blockchain : cela impliquerait de convertir les données d’entrée en variables, créer du code Solidity, utiliser les variables et le déployer dans le réseau Ethereum (soit le MainNet / Testnet) en utilisant Solidity. Cela pourrait être le module le plus compliqué de la solution.
2.0 Introduction aux Plateformes et Cadres de Développement
Différentes Plateformes Blockchain – Une Brève Introduction [45m-10h]
Il existe des dizaines de cadres d’applications décentralisées construits sur la technologie Blockchain, et chacun de ces cadres utilise soit son propre langage de programmation soit a créé un langage de programmation propriétaire spécifique à cette plateforme. Parmi les exemples notables figurent : Ethereum, Lisk, Omni, NEO, Ardor, Qtum, Counterparty, Stellar, Waves, Bitshares, Ubiq, NXT et Waltonchain. Cet article met en évidence certaines des plateformes et des cadres les plus connus utilisés intensivement aujourd’hui.
3.0 Introduction à Ethereum
Papier Blanc Original [5-10h]
C’est toujours la première étape vers Ethereum, je recommande fortement de prendre autant de temps que possible pour lire ceci en détail. C’est un document vivant et respirant qui est constamment mis à jour.
Comment fonctionne Ethereum ? [45-90m]
Je recommanderais de passer du temps à lire et à comprendre pleinement le contenu de cet article. Il est bien organisé et commence dès le début, par ce qu’est une Blockchain, il explique le paradigme de la blockchain Ethereum, et entre dans le détail exhaustif des confirmations de transactions et des plans d’exécution.
[Video] Quand les Nouvelles Technologies et les Politiques Désuètes Se Heurtent [20-40m]
Le Centre for International Governance Innovation (CIGI) est un groupe de réflexion indépendant et non partisan sur la gouvernance internationale, le travail interdisciplinaire du CIGI comprend la collaboration avec les communautés politiques, commerciales et académiques du monde entier, et ceci est une interview menée par Julie Maupin, Senior Fellow du CIGI, où elle demande à Vitalik Buterin, fondateur d’Ethereum, de lever le voile sur cette plateforme complexe et ses implications en matière de gouvernance. Leur discussion couvre un large éventail de sujets : l’introduction de Buterin aux cryptomonnaies ; la création d’Ethereum ; comment le matériel – grand et petit – joue un rôle dans le développement futur et l’adoption ; et la transition imminente d’Ethereum du modèle “preuve de travail” à “preuve d’enjeu”.
Vitalik passe maintenant beaucoup moins de temps à soumettre des mises à jour de code de programmation, et plus de temps sur l’architecture d’Ethereum, en se concentrant sur les propriétés, l’efficacité, la simplicité, la confidentialité et l’évolutivité.
3.1 Introduction aux Cryptomonnaies, Contrats Intelligents et Applications Décentralisées
En utilisant la technologie Blockchain, vous pouvez créer des cryptomonnaies (à partir de zéro ou en forkant un dépôt de code public existant), des contrats intelligents (appliquant automatiquement des règles), et des applications décentralisées (programmes sans propriétaire central ou point de défaillance unique) Si votre objectif est de créer une nouvelle cryptomonnaie et de lever des capitaux en utilisant une offre initiale de pièces (ICO), alors votre processus de développement dépendra de la cryptomonnaie que vous souhaitez créer, du type de fonctionnalité et de caractéristiques que vous cherchez à avoir, des caractéristiques du jeton ou de la pièce (c.-à-d. sera-t-il minable ou empilable, quel algorithme de consensus les nœuds opérationnels devront-ils accepter, quelles seront les règles de hachage, quel type de mécanisme de distribution de jetons sera en place, quelles propriétés de la cryptoeconomie telles que les mesures inflationnistes seront appliquées au niveau du protocole. Il existe une longue liste d’outils et de technologies dans l’Écosystème Ethereum, et j’ai fait de mon mieux pour en choisir quelques-uns notables pour vous aider à vous lancer dans cette aventure passionnante.
3.2 Cryptomonnaies
Bien que théoriquement, vous puissiez utiliser n’importe quel langage de programmation pour créer une cryptomonnaie ou une blockchain, les langages les plus courants sont Go (Golang), C, C++, Java, Python, Perl et il serait utile d’utiliser un langage de programmation largement pris en charge et ayant une communauté de développement active et florissante. Le langage officiel dans lequel la Machine Virtuelle Ethereum (EVM) est écrite est Go. Bien qu’il existe quelques implémentations différentes, le client Geth est le plus répandu et Go est également le langage préféré pour quelques autres projets majeurs, à savoir Cosmos. La beauté des cryptomonnaies est que vous pouvez littéralement avoir accès à l’ensemble des scripts de programmation open-source d’Ethereum, et créer votre propre pièce alternative (altcoin) en forkant le code original (si vous souhaitez un contrôle total sur chaque aspect), ou simplement émettre un jeton sur le réseau Ethereum. Il est important de mentionner qu’actuellement, plus de 90% des cryptomonnaies sont des jetons ou des actifs émis sur la plateforme Ethereum.
Papier Blanc Original par Satoshi Nakamoto [2-4h]
Ceci est la définition canonique de ce qu’est une cryptomonnaie et fournit une explication succincte de comment fonctionne la Blockchain Bitcoin, le modèle d’incitation utilisé, comment la confidentialité est établie, et comment les arbres de Merkle sont utilisés pour la vérification simplifiée des paiements (concept très important pour plusieurs cryptomonnaies).
3.2.1 Standard de Jeton Ethereum
Il est important que vous vous familiarisiez d’abord avec Ethereum Request for Comments (ERC), qui est le protocole officiel pour proposer des améliorations au réseau Ethereum, les plus courants étant ERC20 et ERC23 (officiellement connu sous le nom de ERC223) pour créer des cryptomonnaies.
Définition du Jeton ERC20 [2h-3h]
Ces définitions établissent l’ensemble des règles pour les jetons fonctionnant dans cet environnement. C’est un article important à lire en profondeur, car il explique les règles d’interface, ce que fait un contrat de jeton, comment établir les transferts de solde et la circulation de l’offre de pièces/jetons
3.3 Contrats Intelligents
Comme Ethereum est une plateforme décentralisée construite en utilisant la technologie Blockchain, son attribut le plus connu est sa capacité à exécutCette liste présente certains des outils courants pour vous aider à apprendre, y compris Dapp (outil de construction, gestionnaire de paquets et assistant de déploiement) et Solidity REPL (qui vous permet d’essayer de coder en Solidity instantanément avec une console en ligne de commande).
Tutoriel complet de l’application de vote “Hello World” sur Ethereum – Partie 1 [2h-10h]
Ceci est un excellent tutoriel pas à pas qui explique à un rythme régulier comment développer une application de vote puissante, mais simple sur la plateforme Ethereum. Il contient trois parties et a été récemment mis à jour pour tirer parti des récentes améliorations d’Ethereum. Si vous cherchez à écrire le code à partir de zéro et à ne pas réutiliser aucun du contenu principal, ce serait un excellent moyen d’apprendre à écrire des contrats intelligents, cela prendrait juste considérablement plus de temps à compléter que quelques heures. L’objectif de cet exercice est de :
- Configurer l’environnement de développement pour l’application de vote
- Apprendre la méthodologie et la syntaxe de rédaction d’un contrat intelligent, puis le compiler et le déployer dans l’environnement
- Interagir avec le contrat intelligent sur la blockchain Ethereum via une console Node.js.
- Interagir avec le contrat intelligent via une simple page web pour afficher les comptes de votes et voter pour les candidats via la page.
Tutoriel complet de l’application de vote “Hello World” sur Ethereum – Partie 2 [2h-10h]
Ce tutoriel est la continuation du développement de l’application de vote ci-dessus, et une fois terminé, vous auriez :
- Appris comment installer geth, qui est le logiciel client (parmi d’autres) utilisé pour télécharger localement l’ensemble de la blockchain Ethereum pour exécuter un nœud.
- Appris comment installer le framework dapp Ethereum appelé Truffle qui peut être utilisé pour compiler et déployer le contrat ; ce sujet peut potentiellement attendre la section suivante car celle-ci couvre les applications décentralisées en bien plus de détails.
- Compilé et déployé le contrat intelligent sur le testnet Ropsten d’Ethereum.
- Eu l’opportunité d’interagir avec le contrat intelligent en utilisant la console Truffle et une page web normale.
Tutoriel complet de l’application de vote “Hello World” sur Ethereum – Partie 3 [2h-7h]
Le tutoriel final vous guidera sur comment ajouter quelques fonctionnalités clés à l’application de vote dapp qui a été précédemment déployée sur la blockchain Ethereum, et ce sera une excellente activité pour apprendre des concepts plus avancés. Les objectifs clés de la leçon sont de :
- Apprendre à utiliser de nouveaux types de données comme struct pour organiser et stocker des données sur la blockchain.
- Apprendre les principes des jetons et leur utilisation.
- Apprendre à effectuer des paiements en utilisant Ether, la monnaie de la plateforme blockchain Ethereum.
Tutoriel complet de l’application de vote “Hello World” sur Ethereum – Démonstration Finale [1h]
Voici l’application de vote décentralisée pour que le monde entier puisse l’expérimenter de première main ! Un rappel amical, c’est que pour que cette application fonctionne correctement, vous devez installer l’extension de navigateur MetaMask et ensuite basculer vers le Ropsten TestNet.
[Optional] Introduction à Solidity – Partie 1 [2h-5h]
Ethereum a promis dès le début qu’il pourrait déployer, du code arbitraire puissant (également connu sous le nom de contrats intelligents), et ce tutoriel vidéo co-produit par Will Warren et Jordan Leigh explique, étape par étape, comment configurer un environnement de développement Ethereum, les fondamentaux de l’écriture et du déploiement de contrats intelligents sur la blockchain Ethereum. Fortement recommandé car les deux sont brillants.
[Optional] Introduction à Solidity – Partie 2 [2h-4h]
Ceci est la continuation du tutoriel vidéo ci-dessus, également recommandé, surtout pour les développeurs qui aiment suivre visuellement.
3.3.1 Principes de sécurité des contrats intelligents Ethereum et audit
Quel est le risque qu’un contrat intelligent soit piraté ? Des méthodes de vérification automatique des contrats intelligents existent-elles aujourd’hui ? Quelle est leur efficacité ? Ces questions trouveront réponse dans les sections suivantes.
Il est essentiel que vous passiez en revue le matériel ci-dessous avant et pendant la création d’un contrat intelligent. Cela garantit que votre code de programmation suit les normes et que les vulnérabilités de sécurité sont abordées autant que possible. Aucun contrat intelligent ne sera jamais parfait, mais la quasi-perfection est l’objectif et un plan de gestion et d’atténuation des risques efficace est impératif.
Meilleures pratiques des contrats intelligents [4h-15h]
Ce document fournit une excellente base de connaissances sur les considérations de sécurité, les implications et les règles à suivre pour les programmeurs Solidity. Il est maintenu par ConsenSys Diligence et la communauté Ethereum plus large.
Considérations de sécurité des contrats intelligents [2h-5h]
Ce guide entre dans les détails sur les différents pièges auxquels vous pouvez faire face en tant que programmeur solidity, les recommandations à suivre et met en évidence certaines méthodes de vérification formelle disponibles.
Exemple d’audit de contrat intelligent [30m-1h]
Ceci est un excellent exemple d’un audit de contrat intelligent réalisé par l’une des institutions les plus respectées dans le domaine aujourd’hui, Zeppelin Solutions. Bien que chaque audit soit unique et variera considérablement en détail, les audits seront typiquement organisés dans les sections suivantes : problèmes graves qui doivent être adressés immédiatement avant le lancement du jeton, problèmes potentiels qui pourraient potentiellement évoluer en devenant des problèmes si non adressés rapidement (comme l’utilisation de timestamp, l’utilisation des codes d’envoi et de réception, le service d’escrow, éviter le code en double, les constantes magiques dans les montants), avertissements, et enfin une conclusion.
Concours d’audit de contrats intelligents – Partie 1 [20m-1h]
Ceci est une lecture importante, elle fournit quelques leçons clés apprises d’un concours de solidité, certaines sont évitables et d’autres pas autant, car c’est la nature même des contrats intelligents dans son ensemble, vous pouvez seulement protéger votre code contre les attaques connues, le risque important vient des attaques inconnues (circonstances ou scénarios que vous n’aviez pas considérés lors de la phase de conception initiale).
Concours d’audit de contrats intelligents – Partie 2 [20m-1h]
Cet article discute des résultats de l’audit du concours et fournit un excellent résumé de chacune des soumissions gagnantes, beaucoup de connaissances précieuses ici.
Exemple d’un contrat intelligent pour parier sur le combat Mayweather et McGregor [1h-2h]
Ceci est un contrat intelligent qui a été réellement déployé sur le MainNet Ethereum utilisé pour faciliter les paris pour ce grand match de boxe qui a eu lieu l’année dernière. Le développeur principal croyait que choisir une solution comme Oraclize était le meilleur pari, donc, après le combat, n’importe qui peut appeler la fonction checkResult(), en supposant qu’un petit peu d’Ethers est envoyé pour couvrir les frais de requête, la fonction interroge ensuite la page BoxRec de Floyd Mayweather et scrape le résultat du combat contre McGregor, et enfin, déclare le gagnant dans le contrat en conséquence. Ceci est juste un exemple simple de ce qui est possible lorsque vous intégrez un événement réel dans un code de contrat intelligent automatiquement exécutable et transparent.
3.4 Applications décentralisées
Avant de se lancer directement dans la construction d’une application décentralisée, il est inspirant de voir ce qui a déjà été construit, et ce qui a réussi à être adopté largement par rapport à ce qui n’a pas été largement adopté.
État des Applications Décentralisées [30m-3h]
L’état des ÐApps est un répertoire organisé à but non lucratif d’applications décentralisées à l’échelle mondiale. Elles sont toutes construites sur la Blockchain Ethereum. L’état des ÐApps a été créé pour catégoriser et présenter les projets développés sur cette technologie incroyable, et il inclut de multiples projets de différents domaines tels que la réalité virtuelle, l’intelligence artificielle, la documentation et les registres, le marché de l’emploi, les jeux, les cours d’apprentissage et de formation, et bien plus encore.
Liste des DApps Ethereum [30m]
Ceci est l’une des meilleures ressources disponibles dans ce domaine, elle présente près de 300 applications décentralisées fonctionnant sur la plateforme Ethereum, et elle met en évidence la somme des soldes en ETH qui se trouve dans tous les contrats DApp, les utilisateurs actifs quotidiens, le nombre de transactions traitées quotidiennement, et bien plus encore. Cette liste a considérablement grandi et les projets notables à suivre de près qui sont déjà en ligne et utilisés activement sont : Ethlance, CrytptoKitties, Etherbots, Ethercraft, Etheremon, Etheroll, ETHLend, Crypto Sportz, Edgeless, 0xBitcoin, et Forkdelta.
Flux de travail Front-End des Applications Décentralisées [20m-30m]
C’est un excellent flux de travail technologique qui fournit un aperçu des Dapps, du point de vue du front-end. Il montre que vous pouvez construire une DApp qui fournit une interface utilisateur pour que les utilisateurs déploient un contrat puis l’utilisent (étapes 1 ou 4). Alternativement, la Dapp pourrait supposer que le contrat a déjà été déployé (plus courant de nos jours) et commencer le flux de l’interface utilisateur à partir de là (étape 6).
Introduction au Développement d’Application Décentralisée [10h-30h]
Ceci est la meilleure introduction au développement d’application décentralisée disponible, elle a été entièrement produite par Jordan Leigh chez Decypher Media. Nous sommes chanceux, car ce cours était auparavant une offre premium et il fallait payer pour y accéder, cependant, il est maintenant librement disponible.
La playlist est assez complète et vous n’avez certainement pas besoin de regarder et d’exécuter chaque étape du programme, mais il serait utile de couvrir les sections principales. Certains des premiers matériaux sont légèrement dépassés, cela dit, ils sont toujours entièrement pertinents. La liste entière est décrite ci-dessous, j’ai mis en gras les tutoriels les plus urgents :
- Préparation de l’environnement de développement
- Création de Paires de Clés Ethereum
- Le Problème d’Arrêt et Pourquoi Nous Avons Besoin de Gaz
- Introduction aux Transactions
- Envoyer des Transactions avec des Interfaces Utilisateurs
- Envoyer des Transactions avec du Code
- Contrats Intelligents – Bonjour le Monde
- Contrats Intelligents – Escrow
- Contrat Intelligent – Coin Flipper – Partie 1
- Contrat Intelligent – Coin Flipper – Partie 2
- Héritage de Contrat
- Oracles et Oraclize
- Comment utiliser le Service de Nom Ethereum (ENS)
- Interface de Ligne de Commande
- La Limite de Gaz du Bloc
- Éviter les Boucles avec les Mappings
- Événements de Contrat
- Signature de Messages Arbitraires
- Mise en Place d’un Schéma d’Authentification
- Le Standard de Token ERC20
- Installation de Geth
- Le Bloc Genesis
- Synchronisation de la Blockchain
- Coffres-forts Geth
Application Décentralisée – Série [2h-10h]
Cet index passe en revue certaines des applications Nexus / DappHub connues. Cela inclut les Dapps, les bibliothèques, les packages avec un fichier Dapp, dans l’espoir d’augmenter l’utilisation de leur chaîne d’outils et fonctionne comme d’excellentes études de cas pour les développeurs. Ils créent une suite complète d’outils de développement orientés blockchain dans l’esprit de la Philosophie Unix et cela vaut vraiment la peine, car ils ont contribué au projet MakerDAO ainsi qu’à la production d’outils de développement largement utilisés.
[Optional] Configuration, Déploiement et Maintenance des Services Web Amazon (AWS) [4h-7h]
Ceci est un matériel optionnel, mais cela vaudrait quand même la peine de le regarder si vous cherchez à configurer une instance EC2 AWS depuis le début et que vous êtes intéressé par la configuration d’un environnement de développement Rails. Ensuite, si cela vous intéresse, vous pouvez réellement configurer une instance AWS S3 pour le stockage de fichiers dans le cloud.
[Optional] Créer vos propres applications Ethereum en utilisant Ethereum Go [45m-2h]
Ceci est toujours un guide et un tutoriel utiles à suivre car le langage Go peut également être utilisé pour construire des applications, puisque Ethereum a été initialement construit sur Go.
[Optional] Dapps pour Débutants [5h-20h]
Cette équipe a produit du contenu utile pour les développeurs qui cherchent à se lancer dans la programmation en utilisant la cryptotechnologie, ils travaillent également sur une plateforme éducative appelée EthAcademy (plus d’informations dans la section des outils ci-dessous), pour concurrencer Codeacademy.
4.0 Outils
Voici une liste d’outils et de ressources que vous devriez trouver très utiles dans votre développement :
Ethereum.stackexchange; Gratuit
Ethereum Stack Exchange est un site de questions et réponses pour les utilisateurs d’Ethereum
Wiki Ethereum; Gratuit
Descriptions approfondies utiles de nombreux composants Ethereum
Boîtes Truffle; Gratuit
Des modèles utiles, ces boîtes peuvent en fait contenir des contrats et des bibliothèques Solidity, des vues frontales, et des dapps exemples complets.
Remix; Gratuit
IDE Solidity, très utile et vaut le temps
Ethacademy; Gratuit
Ceci n’est pas encore sorti, mais je suggérerais de vous inscrire à la newsletter car ils vous envoient beaucoup d’informations intéressantes sur les derniers outils de développement Ethereum et intégrations.
Ether.fund; Gratuit
Il possède un répertoire de contrats intelligents Solidity qui pourrait vous aider à proposer plus d’innovations.
Github Ethereum; Gratuit
Il possède une excellente liste de ressources utiles pour aider au développement de Dapps
CryptoZombies; Gratuit
Avec CryptoZombies, vous apprendrez à écrire des contrats intelligents Ethereum en utilisant Solidity de manière amusante et interactive où vous codez votre propre jeu de zombies, en construisant spécifiquement votre propre jeu de crypto-collectables.
Ethernaut d’OpenZeppelin; Gratuit
C’est un excellent moyen d’en apprendre beaucoup plus sur la sécurité Ethereum, spécifiquement comment protéger votre code Solidity contre les piratages (autant que possible). Un excellent tutoriel pour apprendre les bases.
Yasiv; Gratuit
C’est un incroyable outil web gratuit qui vous permet de voir, visuellement dans une carte de liens, quels produits d’Amazon sont liés d’une manière ou d’une autre. Cet exemple présente des livres sur la Blockchain. Essayez de taper Ethereum.
Carte Géographique de Bitnodes; Gratuit
Cela a été créé pour estimer la taille du réseau Bitcoin en atteignant tous les nœuds contributeurs.
Carte Réseau de Bitnodes; Gratuit
C’est une autre belle visualisation de tous les nœuds sur le réseau Bitcoin, génial à suivre au cours de plusieurs mois.
Bitcoin Interaqt; Gratuit
Cette visualisation impressionnante est en direct et fonctionne en temps réel, montrant les blocs tels qu’ils sont traités et minés. Vous pouvez réellement cliquer sur l’un des blocs flottants et cela vous montrera immédiatement le contenu de ce bloc dans la vue explorateur.
Blockchain Quotidienne – Transactions Non Confirmées; Gratuit
Merveilleux de voir des transactions non confirmées dans ce type de vue, vous pouvez voir des milliers de transactions en attente d’être traitées ; il y a un effort concerté de la part de tous dans la communauté Bitcoin pour accélérer l’adoption de certaines des routines d’optimisation qu’ils ont en place.
Blockseer; Gratuit
C’est l’une des seules solutions disponibles aujourd’hui qui vous permet de suivre le flux de transactions alors qu’elles traversent la Blockchain. Très recommandé de s’inscrire.
Blocks WizB; Gratuit
C’est intéressant à suivre, cela vous permet de zoomer et de surveiller où les transactions sont traitées par les nœuds du réseau.
5.0 Matériel supplémentaire
Ce que vous devez savoir sur la technologie Blockchain; Gratuit [20m-40m]
C’est un excellent article écrit par Karim Lakhani, professeur à la Harvard Business School et co-fondateur de l’initiative numérique HBS, où il discute de la blockchain en grande profondeur. Lakhani décompose comment la technologie derrière le bitcoin fonctionne et parle des industries et des entreprises qui pourraient voir de nouvelles opportunités de croissance ou perdre des affaires.
La Vérité sur la technologie Blockchain; Gratuit [15m-20m]
Ceci est un autre excellent article de Marco Iansiti, professeur d’administration des affaires David Sarnoff à la Harvard Business School et également de Karim R. Lakhani, professeur d’administration des affaires Charles Edward Wilson et le boursier Dorothy et Michael Hintze à la Harvard Business School. Ils discutent des modèles d’adoption de la technologie, de la nouvelle architecture, d’un cadre pour l’adoption de la Blockchain
Écrit par l’un des gourous originaux de la cryptomonnaie et de la technologie Blockchain, librement disponible ici.
Livre – Maîtriser Ethereum : Construire des Contrats Intelligents et des Dapps; Gratuit
Un autre chef-d’œuvre écrit par Andreas Antonopoulos, il a été publié en décembre 2018, mais il y a une édition gratuite disponible sur GitHub.
Livre – Blockchain : Plan pour une Nouvelle Économie par Melanie Swan; Payant
C’est l’un de mes favoris personnels, Melanie semblait en avance sur son temps lorsqu’elle a publié ce livre, c’était avant même qu’Ethereum n’ait l’attention du grand public, elle est une vraie visionnaire et a prévu en 2015 pas mal de ce qui s’est réellement passé en 2017.
Introduction ConsenSys à la Programmation de Contrats Intelligents sur Ethereum; Gratuit [2h-4h]
Cet article de Consensys fournit un tutoriel introductif utile sur la programmation de contrats intelligents basés sur Dapp.
Malgré le fait que cet article soit daté, il contient encore une tonne d’informations utiles pour les développeurs de Blockchain en herbe et les architectes de Blockchain.
Ethereum en Pratique – Parties 1, 2 et 3 par l