Tutoriel pour créer une solution de chaßne de blocs sur Hyperledger Composer



En raison des exigences commerciales modernes, IBM s'est associé à d'autres sociétés pour développer un réseau de blockchain d'entreprise open source appelé projet Hyperledger Fabric qui touche le ciel. En raison de l'architecture modulaire, des clés numériques et de la récupération des données à la demande, la structure hyperledger est considérée comme la base des futures applications basées sur la blockchain d'architecture modulaire dans le monde. D'autres avantages de Hyperledger Fabric sont donnés ci-dessous pour faciliter votre interprétation.

Structure modulaire

Hyperledger Fabric facilite pour un développeur de créer ses propres composants enfichables directement dans l'architecture de la blockchain. Un développeur sera en mesure d'introduire de nouveaux modules chaque fois qu'il en a besoin ou qu'il désire. Et, ils n'ont pas besoin de reconstruire le systÚme depuis le début. La société de solutions informatiques Syncrasy Tech peut vous aider avec les services de développement de blockchain et de développement Salesforce.

Clés numériques PKC11

Hyperledger Fabric propose PKC11 modifiĂ© et non modifiĂ© pour la gĂ©nĂ©ration de clĂ©s numĂ©riques. Ces clĂ©s amĂ©liorent particuliĂšrement la protection des donnĂ©es. Imaginez une sociĂ©tĂ© de prĂȘts hypothĂ©caires utilisant la technologie blockchain. Une hypothĂšque ne devrait pas ĂȘtre exposĂ©e publiquement. Il oblige les parties Ă  se vĂ©rifier dans le rĂ©seau pour garantir l'authenticitĂ©. Avec un cadre modulaire de blockchain comme Hyperledger Fabric, vous pouvez fournir suffisamment de donnĂ©es de sĂ©curitĂ© nĂ©cessaires dans les sections de donnĂ©es sensibles.

Récupération des données si nécessaire

Les canaux d'Hyperledger Fabric n'ont pas encore reçu l'importance qu'ils mĂ©ritent. Les canaux permettent un partitionnement des donnĂ©es qui permet de protĂ©ger les donnĂ©es censĂ©es provenir d'un cadre de blockchain. Cela est utile lorsque la sociĂ©tĂ© financiĂšre envisage d'adopter la blockchain mais que les concurrents voient les donnĂ©es de l'entreprise. À l'aide de canaux sur Hyperledger Fabric, vous pouvez stocker des donnĂ©es sensibles dans des partitions de donnĂ©es. Les chaĂźnes de blocs traditionnelles / publiques n'ont pas cette fonctionnalitĂ© pratique.

Une confiance indubitable

Hyperledger Fabric gÚre les transactions différemment et efficacement. Il réduit le nombre nécessaire de couches de confiance et de vérifications par lesquelles passe une transaction. Cela facilite les transactions, les fait plus rapidement et sans aucun problÚme sur n'importe quelle plateforme numérique.

Hyperledger Fabric est un sujet approfondi, mais pour les développeurs qui sont intéressés par le développement d'applications blockchain, ce billet sera utile.

Ici, je parle de commencer avec Hyperledger Composer.

Hyperledger Composer est mon outil préféré pour le développement d'applications blockchain. Construit sur des outils tels que node.js, CLI, npm et éditeurs, Hyperledger Composer propose des exemples d'applications ainsi que des outils pour tester le processus DevOps pour créer des applications de chaßne de blocs.

Hyperledger Composer peut ĂȘtre installĂ© en exĂ©cutant le script suivant:

cd $HOME curl -O -k https://hyperledger.imtqy.com/composer/latest/prereqs-ubuntu.h chmod u+x prereqs-ubuntu.sh 

Exécutez la commande suivante pour démarrer le processus d'installation:

 sudo apt-get install -y software-properties-common 

Le processus d'installation nĂ©cessite des composants prĂȘts:

Outils CLI

 npm install -g composer-cli@0.20 


Aire de jeux

 npm install -g composer-playground@0.20 

Tissu Hyperledger

 mkdir ~/fabric-dev-servers && cd ~/fabric-dev-servers 

IDE

Vous pouvez utiliser de nombreux IDE avec Hyperledger Composer. Les deux types les plus courants sont les IDE Atom et VS Code.

Atom IDE

Télécharger Atom IDE @ atom.io

Atom est un éditeur de texte IDE gratuit et open-source qui vous aide à écrire du code plus rapidement avec sa fonctionnalité de saisie automatique intelligente. Il prend également en charge l'édition multiplateforme, permettant ainsi à Atom de fonctionner sur différents systÚmes d'exploitation. Vous pouvez diviser les codes en plusieurs volets pour comparer et modifier des codes dans différents fichiers.

Étapes pour ajouter un dossier de projet à Atom:

Allez dans le menu Fichier.

Cliquez sur le menu Ajouter un projet ou appuyez sur (ALT + CTRL + O).

Spécifiez le chemin de votre dossier et sélectionnez le dossier.

Créez le «fichier» en cliquant sur l'option de menu «nouveau fichier».

Voici comment un fichier ouvert dans Atom:



Étapes pour exĂ©cuter un fichier HTML dans Atom:

Faites un clic droit sur le fichier ouvert.

Ouvrez le "Fichier" sur le navigateur Web.

Ouvrez le «Script-Runner» pour exécuter des scripts dans Atom IDE.

(Remarque: il prend en charge CoffeeScript, Python, JavaScript, Bash et Ruby)

VS Code

Téléchargez Visual Studio Code IDE @ code.visualstudio.com/download

Visual Studio prend en charge les fonctionnalitĂ©s d'un Ă©diteur de code source avec complĂ©tion de code Intellisense, outils, dĂ©bogage avec points d'arrĂȘt, piles d'appels et console interactive. Le code VS pour Hyperledger Composer vous aide Ă  devenir plus productif avec sa mise en Ă©vidence de la syntaxe, sa personnalisation facile, ses mappages de raccourcis clavier contribuĂ©s par la communautĂ©, sa sĂ©lection de cases et son indentation automatique.

Je vais vous guider à travers les étapes de création d'une solution de chaßne de blocs à l'aide d'Hyperledger Composer.

Les étapes suivantes vous donneront un aperçu des techniques à appliquer à votre propre travail de développement:

Hyperledger Composer fonctionne pour le concept clé de définition de réseau d'entreprise (BND) qui vous aide à créer votre solution de chaßne de blocs de la maniÚre la plus simple possible.

Étape 1

La premiÚre étape consiste à utiliser le générateur Yeoman pour créer la structure d'un réseau d'entreprise. Utilisez cette commande pour terminer l'étape:

 yo hyperledger-composer:businessnetwork 

Pour l'exécution de la commande, vous aurez besoin du nom du réseau d'entreprise, du nom de l'auteur et de l'adresse e-mail de l'auteur. Entrez simplement tutorial-network.

Entrez - Apache 2.0 comme détails de sélection de licence.

Entrez l'espace de noms en suivant cette commande;

 rg.example.mynetwork 

Étape 2

La deuxiÚme étape consiste à définir un réseau d'entreprise composé de:

  • Les participants
  • Atouts
  • Les transactions
  • RĂšgles de contrĂŽle d'accĂšs
  • ÉvĂ©nements et requĂȘtes

Ouvrez le fichier modĂšle

 org.example.mynetwork.cto 

Remplacez le contenu par les codes suivants:

 /** * My commodity trading network */ namespace org.example.mynetwork asset Commodity identified by tradingSymbol { o String tradingSymbol o String description o String mainExchange o Double quantity --> Trader owner } participant Trader identified by tradeId { o String tradeId o String firstName o String lastName } transaction Trade { --> Commodity commodity --> Trader newOwner } 

Enregistrez toutes les modifications que vous avez apportées avec la commande suivante:

 org.example.mynetwork.cto 

Étapes pour ajouter une logique de transaction JavaScript

Le fichier de fonction du processeur de transactions contient la logique JavaScript qui exécute les transactions données dans le fichier modÚle.

Étape 1

Ouvrez le fichier de script logic.js.

Étape 2

 Replace the whole content by following the code: /** * Track the trade of a commodity from one trader to another * @param {org.example.mynetwork.Trade} trade - the trade to be processed * @transaction */ async function tradeCommodity(trade) { trade.commodity.owner = trade.newOwner; let assetRegistry = await getAssetRegistry('org.example.mynetwork.Commodity'); await assetRegistry.update(trade.commodity); } 

Enfin, enregistrez les modifications dans

 logic.js 

Étapes pour ajouter un contrîle d'accùs à votre solution Blockchain:

Étape 1
Utilisez ce fichier permissions.acl et remplacez les rÚgles de contrÎle en procédant comme suit:

 /** * Access control rules for tutorial-network */ rule Default { description: "Allow all participants access to all resources" participant: "ANY" operation: ALL resource: "org.example.mynetwork.*" action: ALLOW } rule SystemACL { description: "System ACL to permit all access" participant: "ANY" operation: ALL resource: "org.hyperledger.composer.system.**" action: ALLOW } 

Étape 2
Enregistrez les modifications apportées à permissions.acl.

C'est ainsi que vous pouvez définir le réseau d'entreprise pour votre solution de blockchain.
Je vais vous expliquer comment ce rĂ©seau d'entreprise doit ĂȘtre intĂ©grĂ© dans un fichier .bna d'archive de rĂ©seau d'entreprise dĂ©ployable.

Utilisez le répertoire tutorial-network et exécutez la commande suivante:
archive du compositeur créer -t dir -n

AprÚs l'exécution correcte de la commande, vous verrez un fichier d'archive du réseau d'entreprise tutorial-network@0.0.1.bna qui a été créé dans le répertoire réseau du didacticiel.

Étapes pour le dĂ©ploiement du rĂ©seau d'entreprise:
Étape 1

Depuis le tutorial-network, exécutez la commande followinacg:

 omposer network install --card PeerAdmin@hlfv1 --archiveFile tutorial-network@0.0.1.bna 

Étape 2

Pour démarrer votre réseau d'entreprise, utilisez cette commande:

composer network start --networkName tutorial-network --networkVersion 0.0.1 --networkAdmin admin --networkAdminEnrollSecret adminpw --card PeerAdmin @ hlfv1 --file networkadmin.card

Étape 3

Importez l'identité de l'administrateur réseau en suivant la commande:

 composer card import --file networkadmin.card 

Étape 4

Pour vérifier si le réseau d'entreprise a été déployé avec succÚs ou non, utilisez la commande suivante:

 composer network ping --card admin@tutorial-network 

Étapes de gĂ©nĂ©ration du serveur d'API REST

Il est également important d'ajouter une couche d'abstraction indépendante du langage à votre solution de blockchain. L'API REST peut générer cette couche dans votre application blockchain.

Étape 1

Dans la premiÚre étape, vous devez créer l'API REST en accédant au répertoire tutorial-network et en exécutant la commande suivante:

 composer-rest-server 

Étape 2

Ensuite, saisissez le nom de la carte en utilisant:

 admin@tutorial-network 

Étape 3

À l'Ă©tape suivante, utilisez «ne jamais utiliser d'espaces de noms» lorsque vous ĂȘtes invitĂ© Ă  utiliser des espaces de noms dans l'API REST gĂ©nĂ©rĂ©e.

Étape 4

Sélectionnez l'option "Non" lorsqu'on lui a demandé de sécuriser l'API

Étape 5

Sélectionnez l'option «Oui» lorsqu'on lui a demandé d'activer l'option de publication de l'événement

Étape 6

SĂ©lectionnez Ă  nouveau l'option «Non» lorsque vous ĂȘtes invitĂ© Ă  opter pour la sĂ©curitĂ© TLS.

Étape 7

Vous verrez l'API générée connectée à votre réseau d'entreprise blockchain.

Comment développer une application Angular 4 sur Hyperledger Composer?

Étape 1

Utilisez le répertoire tutorial-network et exécutez la commande:

 yo hyperledger-composer:angular 

Étape 2

Connectez la course
réseau d'entreprise en appuyant sur «Oui» dans la boßte de commande.

Étape 3

Pour votre carte réseau d'entreprise, entrez la commande:

 admin@tutorial-network 

Étape 4

Connectez-vous à l'API REST en sélectionnant «Se connecter à l'API REST existante» et allez plus loin.

Étape 5

Pour l'adresse du serveur REST, sélectionnez l'option localhost et entrez 3000 pour le port du serveur.

Étape 6

Sélectionnez l'option «les espaces de noms ne sont pas utilisés» et allez plus loin.

Étape 7

Exécutez l'application en utilisant npm start.

Étape 8

Vous aurez votre application Angular 4 prĂȘte sur l'API REST que vous pouvez consulter admin @ tutorial-network.

En prenant les points ci-dessus en perspective, je peux résumer la publication sur trois points essentiels requis pour créer une solution de chaßne de blocs sur Hyperledger Fabric Composer. Ces points sont le réseau de blockchain de structure, déployer la solution de chaßne de blocs sur le réseau et le serveur API REST Fabric. Et les développeurs doivent toujours se rappeler le principe de la conception d'applications compliquées. Et tout aussi important, vous devez trouver un développeur compétent et expérimenté qui peut vous apporter de bons résultats.

Merci d'avoir lu et j'accueille vos commentaires et contributions.

Source: https://habr.com/ru/post/fr468641/


All Articles