Bine ai venit la Tutorial Hyperledger Fabric. 

În acest tutorial, vom învăța cum să creați prima aplicație Hyperledger și alte lucruri importante dacă sunteți unul dintre dezvoltatorii care sunt investiți profund în blockchain și doresc să începeți cu Hyperledger Fabric.

Orice cadru pentru întreprinderi necesită expertiză pentru a funcționa. Dacă ești un novice, te vei trezi luptând mult pentru a repara lucruri mici. De aceea, este important să începi devreme și să exersezi în felul tău.

Dar de ce Tesatura Hyperledger și nu orice alt cadru blockchain de întreprindere?

Motivul este că Hyperledger Fabric este un cadru de blockchain de întreprindere de vârf, care oferă o tehnologie excelentă de registru distribuit permis (DLT). Are câteva caracteristici excelente care îl fac o alegere ideală pentru o întreprindere. 

Puteți măsura popularitatea acestuia verificând membrii săi, care constă din CISCO, IBM, Intel, SAP, Accenture și altele.

Ce este Hyperledger Fabric?

Hyperledger Fabric este un cadru open-source la nivel de întreprindere. Se bazează pe tehnologia de registru distribuit permis pentru a oferi aplicații și soluții atât de necesare. Linux Foundation lucrează la un număr divers de proiecte, iar Hyperledger Fabric este unul dintre ele.

Deoarece este open-source, oricine se poate alătura proiectului și poate contribui la acesta. În acest moment, 35 de organizații lucrează împreună pentru a face din Hyperledger Fabric cel mai bun cadru de întreprindere.

La bază, Hyperledger Fabric este configurabil și modular. Aceasta înseamnă că întreprinderile pot lucra fără probleme folosind cadrul. Toate aceste caracteristici dezirabile fac din Hyperledger Fabric o alegere excelentă! În momentul scrierii, puteți încerca Hyperledger Fabric v1.4, care vine cu noi caracteristici și funcționalități.

Funcționalități ale țesăturii Hyperledger

Hyperledger Fabric vine cu cinci caracteristici principale. Sunt după cum urmează

  • Managementul identității: gestionarea identității este crucială pentru orice rețea autorizată. De aceea, gestionarea identității este una dintre caracteristicile cruciale ale structurii Hyperledger. Oferind administratorului să stabilească o gestionare adecvată a identității, întreprinderile se pot asigura că folosesc mai multe straturi de permisiune.
  • Procesare eficientă: Tesatura Hyperledger este eficientă. Acest lucru se datorează faptului că rolurile de rețea sunt atribuite ca tip de nod. Eficiența este asigurată și prin lăsarea executării tranzacțiilor separat de angajament și comandă.
  • Design modular: Hyperledger Fabric utilizează un design modular, ceea ce înseamnă că este ușor să integrezi servicii sau alte sisteme în acesta. Acest lucru înseamnă, de asemenea, că puteți specifica algoritmul de consens, identitatea și așa mai departe. 
  • Confidențialitate și confidențialitate: Hyperledger Fabric oferă, de asemenea, confidențialitate și confidențialitate adecvate, ceea ce este foarte important pentru întreprinderi. Acestea oferă canale de date adecvate, astfel încât informațiile să nu se scurgă, iar confidențialitatea să poată fi păstrată cu orice preț.
  • Funcționalitate cod de cod: Hyperledger Fabric oferă funcționalitate de cod de cod, care permite invocarea logicii numai atunci când este apelat un anumit tip de tranzacție. 

Alte caracteristici cheie ale țesăturii Hyperledger includ codul de calitate, open-source, scalabilitate și eficiență deosebită și utilizarea la nivel de industrie. 

Tutorial Hyperledger Fabric

Înainte de a începe să dezvoltați o aplicație, este mai bine să înțelegeți arhitectura sistemului Hyperledger Fabric. Procedând astfel, putem înțelege cum funcționează intern. Aceste cunoștințe pot fi apoi utilizate pentru a dezvolta prima aplicație Hyperledger Fabric. 

Arhitectura sistemului

La bază, avem noduri. Nodurile comunică între ele și fac o rețea. Cu toate acestea, există programe care sunt rulate chiar de blockchain. Acestea sunt cod de cod. Codul de legătură este responsabil pentru păstrarea registrului și a datelor de stat și, de asemenea, se ocupă de executarea tranzacției. 

În țesătura Hyperledger, codul de cod pune cel mai mult accent pe măsură ce tranzacțiile sunt efectuate ca operațiuni. Pe de altă parte, tranzacțiile trebuie validate prin aprobare. Doar tranzacțiile aprobate pot fi angajate.

Tranzacții

Tranzacțiile pe Hyperledger Fabric pot fi de două tipuri:

  • Implementați tranzacții: Acest tip de tranzacții sunt responsabile pentru crearea unui nou chaincode cu parametru ca program. După ce ați terminat, codul de legătură se spune că este „instalat” pe blockchain.
  • Invocați tranzacții: tranzacțiile invocați sunt tranzacții care sunt executate în contextul implementărilor anterioare ale codului de cod.

Structuri de date blockchain

Structura de bază a datelor utilizată în blockchain este depozitul cheie-valoare (KVS). Tastele sunt în mare parte nume, iar valoarea este blobs. Codurile de lanț pot manipula structura datelor cu ajutorul a două operații KVS următoare.

  • a pune
  • obține

Întreaga structură a datelor este văzută ca o stare.

Ledger

Ledgerul este și secvența schimbărilor de stare reușite și a încercărilor nereușite. Sunt ordonate astfel încât să poată fi referite ulterior. De asemenea, sunt comandate blocuri de tranzacții hashchain. Registrul conține blocuri în ordine, care în schimb conțin matrice de tranzacții ordonate.

Noduri

Nodurile pot fi orice entitate de comunicație din rețea.

Client

Un client este cineva care poate acționa în numele utilizatorilor finali.

Peer

Peer gestionează starea registrului și asigură funcționarea optimă a rețelei. Colegii pot aproba colegi, ceea ce ajută la aprobarea unei tranzacții.

Scrierea primei aplicații Fabric Hyperledger 

Acum, că am înțeles structura arhitecturală a Hyperledger Fabric, este timpul să vă creați prima aplicație. Parcurgând aplicația, veți putea înțelege cum funcționează aplicațiile Fabric. În acest tutorial, veți învăța cum să utilizați contracte simple și inteligente și alte aplicații în cadrul. 

Pentru a ne face mai ușoară dezvoltarea, vom folosi aplicația SDK pentru o referință ușoară la cheie 

funcții, inclusiv invocarea contractelor inteligente și a altor interogări.

Cei trei pași principali pe care trebuie să-i urmați în timp ce vă dezvoltați aplicația de material Hyperledger includ următorii:

  1. Configurați mediul de dezvoltare. Mediul de dezvoltare oferă aplicației dvs. rețeaua necesară pentru a lucra. Vă va oferi posibilitatea de a face ca și contractul dvs. inteligent să funcționeze.
  2. Aflați despre exemplele de contracte inteligente. Aici, trebuie să treceți prin contractul inteligent și să înțelegeți tranzacțiile sale. Vom rula interogări simulate de aplicații și, de asemenea, vom actualiza registrul folosindu-l.
  3. Dezvoltarea unei aplicații eșantion: În ultimul pas, veți crea o aplicație eșantion utilizând contractul inteligent.

Construirea primei rețele

Înainte de a începe cu aplicația, să construim prima noastră rețea. Pentru a începe, trebuie să instalăm câteva condiții prealabile. Aceste condiții prealabile vor asigura că totul funcționează conform intenției.

Consultați ghidul lor de instalare prealabil Aici.

Consultați, de asemenea, Hyperledger Composer: Build Your Enterprise Blockchain

Poate doriți să instalați binare, mostre și imagini de andocare. Consultați ghidul de instalare Aici.

Odată ce ați instalat mostrele, veți găsi probele de țesătură incluse în acesta. Ar trebui să fie inclus în depozitul „fabric-samples”. În depozit, există primul eșantion de rețea.

Pentru a vă deplasa la acel director, mutați în folderul cu comanda CD așa cum se arată mai jos.

cd fabric-samples / prima rețea

Pentru a rula primul eșantion de rețea, trebuie să utilizați scriptul byfn.sh. Scriptul este conceput pentru a începe rapid proiectul cu patru colegi. Cei patru colegi reprezintă două organizații diferite. De asemenea, va lansa container, un cod de cod și tranzacții. Containerul va permite mai multor colegi să se alăture rețelei.

Generarea artefactelor de rețea

Acum puteți genera certificatele și cheile pentru entitățile de rețea. Pentru a face acest lucru, trebuie să executați următoarea comandă.

.byfn.sh generează

Vi se va solicita confirmarea înainte de începerea procesului. Apăsați Y pentru a porni umplerea rețelei cu informațiile necesare, inclusiv alimentarea serviciilor de comandă, configurație și așa mai departe.

Alimentarea rețelei

Apoi, trebuie să alimentăm rețeaua. Alimentarea rețelei se poate face cu comanda simplă de mai jos.

./byfn.sh up

După ce executați comanda, cadrul va compila imaginile codului de cod Golang. În plus, containerele asociate se vor declanșa și pentru a oferi noilor colegi un mod de a se alătura rețelei. 

În mod implicit, veți vedea Go în acțiune. Acest lucru se datorează faptului că Go este limba implicită a codului de cod. Dar asta nu înseamnă că nu puteți utiliza alte limbaje de programare. Chaincode acceptă, de asemenea, Node.js și Java. Pentru a trece la un nod, puteți utiliza următoarea comandă. 

.byfn.sh up -l nod

În mod similar, puteți treceți la Java dacă ai nevoie să.

.byfn.sh up -l java

Dacă doriți să utilizați mai multe limbi de cod de cod, atunci trebuie să utilizați serviciul de comandă, inclusiv Raft sau Kafka.

./byfn.sh up -o etcdraft

./byfn.sh up -o kafka

De fiecare dată când utilizați comanda, veți cere să confirmați încă o dată înainte de executarea comenzii.

Pentru a înțelege în continuare cum să construiți și să vă întrețineți prima rețea, consultați tutorialul pentru construirea rețelei Aici.

Lansarea rețelei

Acum, că ați instalat eșantioane și ați parcurs pagina cu condiții prealabile, este momentul să lansăm rețeaua.

Din motive de simplitate, nu vom folosi JavaScript. De asemenea, aveți nevoie de subdirectorul fabcar. Faceți, de asemenea, o clonă locală de repo-mostră de material.

Pentru a porni rețeaua, trebuie să utilizați scriptul shell startFabric.sh. Odată lansat, veți obține o rețea blockchain care are autorități de certificare, comenzi, colegi și așa mai departe. Pe măsură ce se utilizează subdirectorul fabcar, contractul inteligent FabCar va fi instalat și inițiat automat. 

Comanda pentru a porni rețeaua este următoarea:

./startFabric.sh javascript

Instalarea aplicației

Acum, este timpul să instalați aplicația. Dar, înainte de a face acest lucru, trebuie să instalăm dependențele. 

instalare npm

Comanda de mai sus va începe să instaleze dependențele importante definite în pachet.json

În pachet, clasele importante care vor fi inițiate includ

  • clasa fabric-network → permite tranzacții, identități, portofele
  • fabric-ca-client → înregistrează utilizatorii la autoritățile lor de certificare respective

Odată terminat, vom trece la directorul fabcar / javascript. Să ne uităm la fișierele de director de mai jos:

  • encrollAdmin.js
  • nod_module
  • pachet.json
  • registerUser.js
  • invoca.js
  • package-lock.json
  • query.js
  • portofel

Comunicarea cu autoritatea de certificare

Acum, că avem o rețea în funcțiune, să învățăm cum să comunicăm cu o autoritate de certificare. 

Cerere de semnare a certificatului (CSR)

Prima noastră sarcină este să parcurgem un proces de CSR. În acest proces, admin contactează autoritatea de certificare pentru a genera certificatul public, privat și X.509. Programul folosit pentru a face este enroll.js

Pentru a înregistra administratorul, utilizați următoarea comandă.

nod enrollAdmin.js

Toate informațiile sunt acum stocate în portofel director.

Același proces trebuie urmat dacă doriți să înregistrați un alt utilizator. Să încercăm să înregistrăm un alt utilizator – usernew

nod reisterUser.js 

Aceasta va înregistra noul utilizator și va stoca acreditările sale în portofel alături de administrator.

Interogarea registrului

Deoarece rețeaua blockchain are o copie a registrului, îl puteți interoga pentru a găsi informații. Ledgerele sunt doar în citire și de aceea pot fi executate numai interogări de citire. Pentru a înțelege mai bine, să vedem imaginea de mai jos.

Sursă: Hyperledger Fabric Docs

Valorile de pe registru rămân, de asemenea, la nivelul său stat mondial. Aceasta este valoarea perechii de chei care este discutată mai devreme în tutorial. Deci, o interogare poate dezvălui date din taste. Vestea bună este că puteți utiliza baze de date precum CouchDB. Statele mondiale pot fi configurate pentru a utiliza baze de date relaționale.

Pentru a obține lista tuturor mașinilor de pe registru, rulați următoarea comandă,

nod query.js

Pentru a înțelege mai bine cum funcționează interogarea, vă recomandăm să vă deschideți query.js fișier și treceți prin el. Să o parcurgem mai jos.

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

În linia de mai sus, se face o conexiune la rețea

Apoi, se creează un gateway pentru conectarea aplicației. Se face folosind liniile de mai jos.

const gateway = new Gateway ();

așteaptă gateway.connect (ccp, {portofel, identitate: ‘user1’});

ccp este utilizat pentru a identifica identitatea utilizatorului și informațiile despre portofel. 

Deoarece rețeaua Hyperledger Fabric rulează mai multe canale, este important să vă conectați la canalul special pentru aplicație.

contract contract = network.getContract (‘fabcar’);

Înțelegerea contractului inteligent

Pentru a înțelege mai bine contractul inteligent, să îl parcurgem. De asemenea, va prezenta tranzacțiile efectuate prin intermediul acestuia.

Pentru a-l accesa, trebuie să accesați subdirectorul chaincode / fabcar / javascript / lib. Odată ajuns acolo, deschideți fabcar.js într-un editor.

Acolo veți vedea utilizarea clasei Contract pentru a defini contractul inteligent. Mai mult, ar exista tranzacții clare definite în cadrul contractului inteligent, inclusiv queryCar, queryAllCars, initLedger, changeCarOwner și createCar.

Tranzacțiile ar arăta mai jos:

async queryCar (ctx, carNumber) {…}

Să analizăm tranzacția queryCar.

async queryAllCars (ctx) {

  const startKey = ‘CAR0’;

  const endKey = ‘CAR999’;

  const iterator = await ctx.stub.getStateByRange (startKey, endKey);

Sursă: Hyperledger Fabric Docs

Actualizarea contului: cumpărarea unei mașini noi

Ultimul pas este actualizarea registrului cu informații noi. În acest caz, să creăm o mașină nouă utilizând invoke.js. Trebuie să deschideți fișierul și să adăugați următoarea comandă la acesta.

await contract.submitTransaction (‘createCar’, ‘CAR12’, ‘CarBrand’, ‘Model’, ‘Color’, ‘Owner’);

În codul de mai sus, aplicațiile efectuează tranzacții cu contract inteligent createCar. În schimb, va crea mașina cu atributele sale, inclusiv CarBrand, Color, Model și Owner.

Acum, rulați următorul cod pentru a-l împinge în registru

nod invocă.js

Acest lucru va avea ca rezultat o actualizare a registrului și veți obține un rezultat de succes.

Concluzie

Acest lucru ne conduce la sfârșitul tutorialului nostru. În tutorial, scopul nostru a fost să acoperim doar suprafața. Dacă doriți să vă scufundați adânc, puteți consulta documentele lor oficiale Hyperledger Fabric, care discută totul în detaliu. 

Deci, veți folosi Hyperledger Fabric pentru construirea blockchain-ului de întreprindere? Comentează mai jos și anunță-ne.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me