Tutoriel Hyperledger Fabric pour débutants : Guide complet

Publié: 2021-02-24

Il existe de nombreux frameworks et outils Hyperledger disponibles . L'un des plus réussis est Hyperledger Fabric. Depuis sa sortie en 2016, Hyperledger Fabric est devenu un framework populaire pour le développement d'applications d'entreprise. Dans ce didacticiel Hyperledger Fabric pour débutants , nous vous expliquerons tout ce que vous devez savoir, de quoi il s'agit, quelle est la structure et comment exécuter votre première application dessus. Sans plus tarder, commençons par notre tutoriel Hyperledger Fabric .

Table des matières

Qu'est-ce qu'Hyperledger Fabric ?

Hyperledger Fabric est un framework basé sur la blockchain de niveau entreprise. Il s'agit d'un framework open source qui fournit l'autorisation DLT (Distributed Ledger Technology) pour le développement d'applications et de solutions commerciales. Certaines des fonctionnalités principales d'Hyperledger Fabric incluent :

  • Architecture hautement modulaire
  • Consensus plug-and-play
  • Prise en charge de Solidity et EVM
  • Prend en charge les requêtes JSON, les requêtes basées sur des clés et d'autres données interrogeables
  • Prise en charge des contrats intelligents multilingues

Avec les connaissances de base de Hyperledger Fabric et de ses fonctionnalités de base, passons à la partie suivante de ce didacticiel Hyperledger Fabric pour les débutants .

Apprenez des cours de logiciels en ligne dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.

Qu'est-ce que l'architecture du système Hyperledger Fabric ?

Avant de commencer notre didacticiel Hyperledger Fabric de base , il est essentiel de se familiariser avec l'architecture sous-jacente. Avoir une solide connaissance de la structure vous aidera à comprendre comment le cadre fonctionne.

  • Transactions : Il existe deux types de transactions : déployer et invoquer. Les transactions de déploiement sont utilisées pour créer des codes blockchain, qui sont des programmes exécutés par la blockchain. D'autre part, les transactions d'appel sont utilisées pour exécuter des transactions en contexte avec les codes blockchain précédemment déployés.
  • Structures de données : Comme tout framework blockchain, les structures de données utilisées dans Hyperledger Fabric sont en paires clé-valeur. Les codes de chaîne manipulent les données avec les opérations put et get.
  • Ledger : C'est une séquence de toutes les modifications réussies et non réussies de la chaîne.
  • Nœuds : Ce sont les agents de communication ou, en d'autres termes, les entités d'un réseau.
  • Client : Utilisateurs finaux ou quelqu'un qui agit en leur nom.
  • Peer : Ils gèrent les états de la chaîne et s'assurent que tout se passe bien.

Tutoriel Hyperledger Fabric pour les débutants pour développer leur première application

Maintenant que nous connaissons l'architecture de base, il est temps de développer notre première application Hyperledger Fabric.

Construire et lancer le premier réseau

Cette étape comprend l'installation des prérequis et des exemples de composants pour lancer le développement de notre application.

Construire le réseau

La première chose à faire est de créer et de lancer le réseau. Sans un réseau en cours d'exécution, votre application ne sera d'aucune utilité. Consultez le guide des prérequis et les fichiers binaires d'Hyperledger Fabric , les images Docker et un exemple de guide d'installation .

Une fois que tout est installé, utilisez la commande suivante pour accéder au référentiel avec l'exemple de réseau.

cd fabric-samples/premier-réseau

Ensuite, utilisez le script byfn.sh pour exécuter le réseau. L'exécution de ce réseau facilitera la communication réseau et lancera les éléments essentiels tels que les conteneurs, les pairs, le code de chaîne, etc., qui aideront avec l'autre processus. Après avoir exécuté l'exemple de réseau, il est temps de générer les artefacts.

Génération des artefacts

Utilisez le code suivant pour générer les artefacts, puis appuyez sur "Y" lorsque vous êtes invité à confirmer pour commencer à remplir les détails nécessaires.

.byfn.sh générer

Alimenter le réseau

Après avoir généré les artefacts, vous devez alimenter le réseau. Il lancera tous les composants, y compris le code blockchain et les conteneurs, pour permettre à de nouveaux pairs de rejoindre le réseau. Utilisez le code suivant pour alimenter le réseau :

./byfn.sh up

La langue par défaut pour le code blockchain Hyperledger Fabric est Go. Cependant, vous pouvez basculer vers l'utilisation de Node.js ou Java en utilisant respectivement les commandes suivantes :

.byfn.sh up -l noeud

.byfn.sh up -l java

Vous pouvez également opter pour l'utilisation de plusieurs langages de programmation en utilisant l'un des codes suivants :

./byfn.sh up -o etcdraft

./byfn.sh up -o kafka

Lancement du réseau

Nous allons maintenant lancer le réseau. Mais avant cela, nous devons :

  • obtenir le sous-répertoire de notre application
  • créer un clone local du référentiel fabric-sample

Utilisez le script de commande suivant pour lancer le réseau :

./startFabric.sh javascript

Après le lancement du réseau, vous aurez tout ce qu'il faut, des donneurs d'ordre aux homologues en passant par les autorités de certification pour développer votre application. Puisque nous utilisons le sous-répertoire de l'application, un contrat intelligent sera automatiquement lancé.

Installation de votre première application

Utilisez le code suivant pour installer les dépendances nécessaires à l'installation et au lancement de l'application.

installation npm

Connexion avec les autorités de certification

Une fois le réseau opérationnel, commençons par communiquer avec les autorités qui peuvent nous permettre d'ajouter des utilisateurs à la chaîne. Pour ce faire, nous devons nous soumettre à la demande de signature de certificat (CSR). Utilisez la commande ci-dessous pour contacter l'autorité de certification et créer un certificat public, privé et x.509.

nœud enrollAdmin.js

Vos informations seront désormais conservées dans le portefeuille. De même, pour ajouter un nouvel utilisateur, vous devez suivre le même processus et utiliser le code suivant :

nœud reisterUser.js

Ce code ajoutera l'utilisateur et les détails seront conservés dans le portefeuille.

Interroger un registre

Vous pouvez utiliser des requêtes de lecture pour interroger un registre via le réseau blockchain et obtenir les résultats. L'application n'exécutera aucune requête d'écriture car les registres sont en lecture seule.

Utilisez le code ci-dessous pour récupérer toutes les données du registre :

nœud query.js

Ensuite, nous devons établir une connexion pour transmettre les données. Une fois la connexion établie, créez une passerelle pour permettre à l'application de se connecter au réseau. La ligne de codes suivante vous aidera à faire tout cela.

const { FileSystemWallet, Gateway } = require('fabric-network');

passerelle constante = nouvelle passerelle ();

attendre gateway.connect(ccp, { wallet, identity : 'user1' });

contrat const = network.getContract('subdirectory_name');

Le CPP dans le code ci-dessus est utilisé pour accéder et vérifier les informations de l'utilisateur. La dernière ligne du code se connecte à un canal particulier. C'est essentiel car l'ensemble du réseau blockchain fonctionne sur plusieurs canaux.

Comprendre le contrat

Dirigez-vous vers le sous-répertoire chaincode/subdirecory_name/javascript/lib pour accéder au contrat intelligent de l'application. Dans le répertoire ci-dessus, le subdirectory_name sera le nom du sous-répertoire de votre application. Ouvrez le fichier application_name.js que vous obtenez ici dans un éditeur. Dans ce fichier, vous obtiendrez le contrat intelligent et toutes les transactions définies dans la classe Contract. Supposons que votre application concerne les voitures, les détails de la transaction ressembleront à :

async queryCar(ctx, carNumber) {…}

Lire : Pourquoi la blockchain est l'avenir

Mise à jour du grand livre

La dernière partie de ce didacticiel Hyperledger Fabric pour les débutants consiste à mettre à jour le grand livre. Considérant le même exemple de voiture, regardons comment vous pouvez ajouter une nouvelle voiture dans le journal. Utilisez la ligne de code suivante pour ajouter un nouveau véhicule au registre.

wait contract.submitTransaction('createCar', 'CAR15', 'Propriétaire', 'Marque', 'CarModel', 'Couleur');

L'utilisation de la commande ci-dessus créera une nouvelle voiture avec les valeurs d'attribut mentionnées. Pour envoyer cette nouvelle transaction au grand livre, écrivez le code ci-dessous :

nœud invoquer.js

Cela mettra à jour le registre avec succès.

Conclusion

Cela nous amène à la fin de notre tutoriel Hyperledger Fabric . La technologie Blockchain et le cadre Hyperledger Fabric ont le potentiel de révolutionner plusieurs industries à travers le monde. Ce didacticiel a donné une brève idée du fonctionnement du framework Hyperledger Fabric et de la manière d'exécuter votre première transaction et application dessus. Si vous souhaitez entrer dans les détails et apprendre à développer des applications métier réelles à l'aide du framework, vous pouvez postuler au programme de certificat avancé upGrad et IIIT Bangalore dans le cours de technologie blockchain.

Le cours contient plus de 250 heures de matériel d'apprentissage sur la technologie blockchain et des frameworks comme Ethereum, Hyperledger Fabric, Distributed Application Development (développement de contrats intelligents, développement backend, API). Si vous souhaitez poursuivre une carrière dans le développement de la blockchain, n'hésitez pas et postulez dès aujourd'hui.

Maîtrisez la technologie du futur - Blockchain

Postulez maintenant pour la certification Executive en Blockchain de l'IIITB