Vodič za tkanine Hyperledger: Vodič za početak rada

Dobrodošli u Vodič za tkanine Hyperledger. 

U ovom uputstvu naučit ćemo kako stvoriti svoju prvu Hyperledger aplikaciju i druge važne stvari ako ste jedan od programera koji su duboko uložili u blockchain i želite započeti s Hyperledger Fabric.

Bilo koji okvir razine poduzeća zahtijeva stručnost za rad. Ako ste početnik, naći ćete se u velikoj borbi da popravite sitnice. Zato je važno započeti rano i vježbati na svoj način.

Ali zašto Tkanina Hyperledger a ne bilo koji drugi blockchain okvir poduzeća?

Razlog je taj što je Hyperledger Fabric vrhunski poslovni blockchain okvir koji nudi izvrsnu dozvoljenu tehnologiju distribuirane knjige (DLT). Ima izvrsne značajke zbog kojih je idealan izbor za poduzeće. 

Možete procijeniti njegovu popularnost provjerom članova, koji se sastoje od CISCO, IBM, Intel, SAP, Accenture i drugih.

Što je tkanina Hyperledger?

Hyperledger Fabric je okvir otvorenog koda za poduzeće. Oslanja se na odobrenu tehnologiju raspodijeljene knjige koja pruža prijeko potrebne aplikacije i rješenja. Linux Foundation radi na raznovrsnom broju projekata, a Hyperledger Fabric je jedan od njih.

Budući da je riječ o otvorenom kodu, svatko se može pridružiti projektu i pridonijeti mu. Trenutno 35 organizacija zajedno radi na tome da Hyperledger Fabric postane najbolji poslovni okvir.

U osnovi je Hyperledger Fabric podesiv i modularan. To znači da poduzeća mogu nesmetano raditi koristeći okvir. Sve ove poželjne značajke čine Hyperledger Fabric izvrsnim izborom! U vrijeme pisanja ovog članka možete isprobati Hyperledger Fabric v1.4, koji dolazi s novim značajkama i funkcionalnostima.

Funkcionalnosti tkanine Hyperledger

Hyperledger Fabric dolazi s pet glavnih značajki. Oni su sljedeći

  • Upravljanje identitetom: Upravljanje identitetom presudno je za svaku odobrenu mrežu. Zato je upravljanje identitetom jedna od presudnih značajki u tkivu Hyperledger. Davanjem administratora da postavi pravilno upravljanje identitetom, poduzeća se mogu pobrinuti da koriste više slojeva dopuštenja.
  • Učinkovita obrada: Hyperledger Fabric je učinkovita. To je zato što su mrežne uloge dodijeljene kao tip čvora. Učinkovitost se također pruža dopuštanjem izvršenja transakcija odvojeno od obveze i naručivanja.
  • Modularni dizajn: Hyperledger Fabric koristi modularni dizajn, što znači da je u njega lako integrirati usluge ili druge sustave. To također znači da možete odrediti algoritam konsenzusa, identitet i tako dalje. 
  • Privatnost i povjerljivost: Hyperledger Fabric također nudi odgovarajuću povjerljivost i privatnost, što je vrlo važno za poduzeća. Oni nude odgovarajuće podatkovne kanale kako informacije ne bi curile, a povjerljivost se može održati pod svaku cijenu.
  • Funkcionalnost lančanog koda: Hyperledger Fabric nudi funkciju lančanog koda, koja omogućava pozivanje logike samo kada se pozove određena vrsta transakcije. 

Ostale ključne značajke tkanine Hyperledger uključuju kvalitetan kôd, otvoreni izvor, veliku skalabilnost i učinkovitost te upotrebu u cijeloj industriji. 

Vodič za tkanine Hyperledger


Prije nego što počnete razvijati aplikaciju, bolje je razumjeti arhitekturu sustava Hyperledger Fabric. Na taj način možemo razumjeti kako interno djeluje. To se znanje tada može koristiti za razvoj vaše prve aplikacije Hyperledger Fabric. 

Arhitektura sustava

U osnovi imamo čvorove. Čvorovi međusobno komuniciraju i čine mrežu. Međutim, postoje programi koje pokreće sam blockchain. Oni su lančani kod. Lančani kôd odgovoran je za čuvanje podataka o knjizi i stanju, a također se brine o izvršenju transakcije. 

U Hyperledger Fabric lančani kod najviše naglašava jer se transakcije na njemu provode kao operacije. Transakcije, s druge strane, treba potvrditi potvrdom. Mogu se počiniti samo odobrene transakcije.

Transakcije

Transakcije na tkanini Hyperledger mogu biti dvije vrste:

  • Primijenite transakcije: Ova vrsta transakcija odgovorna je za stvaranje novog lančanog koda s parametrom kao programom. Kad se završi, za lančani kod se kaže da je “instaliran” na blockchain.
  • Pozivanje transakcija: Transakcije pozivanja su transakcije koje se izvršavaju s kontekstom prethodnih implementacija lančanog koda.

Blockchain podatkovne strukture

Osnovna struktura podataka koja se koristi u blockchainu je spremište ključ / vrijednost (KVS). Tipke su uglavnom imena, a vrijednost su mrlje. Chainkodovi mogu manipulirati strukturom podataka uz pomoć dvije sljedeće KVS-operacije.

  • staviti
  • dobiti

Čitava struktura podataka promatra se kao stanje.

Knjiga

Knjiga je slijed uspješnih promjena stanja i neuspješnih pokušaja. Naručeni su kako bi se kasnije mogli pozvati. Također, naručeni su hashchain blokovi transakcija. Knjiga sadrži redoslijed blokova koji zauzvrat sadrže poredani niz transakcija.

Čvorovi

Čvorovi mogu biti bilo koji komunikacijski entitet unutar mreže.

Klijent

Klijent je netko tko može djelovati u ime krajnjih korisnika.

Vršnjakinja

Peer obrađuje stanje glavne knjige i osigurava da mreža radi optimalno. Vršnjaci mogu podržavati vršnjake, što pomaže u odobravanju transakcije.

Pisanje vaše prve aplikacije za tkanine Hyperledger 

Sad kad smo razumjeli arhitektonsku strukturu tkanine Hyperledger, vrijeme je da izradite svoju prvu aplikaciju. Prolaskom kroz aplikaciju moći ćete shvatiti kako aplikacije Fabric funkcioniraju. U ovom vodiču naučit ćete kako koristiti jednostavne, pametne ugovore i druge programe u okviru. 

Da bismo olakšali razvoj, koristit ćemo aplikaciju SDK za jednostavnu referencu na ključ 

funkcije, uključujući pozivanje pametnih ugovora i druge upite.

Tri glavna koraka koja morate slijediti tijekom razvoja aplikacije za tkaninu Hyperledger uključuju sljedeće:

  1. Postavite razvojno okruženje. Razvojno okruženje daje vašoj aplikaciji potrebnu mrežu za rad. Pružit će vam mogućnost da i vaš pametni ugovor funkcionira.
  2. Učenje o uzorcima pametnih ugovora. Ovdje morate proći kroz pametni ugovor i razumjeti njegove transakcije. Pokretat ćemo upite simulirane aplikacijama i ažurirati knjigu pomoću nje.
  3. Razvoj uzorka aplikacije: U posljednjem koraku stvorit ćete uzorak aplikacije pomoću pametnog ugovora.

Izgradnja prve mreže

Prije nego započnemo s aplikacijom, izgradimo svoju prvu mrežu. Za početak moramo instalirati neke preduvjete. Ti preduvjeti osigurat će da sve radi kako je predviđeno.

Pogledajte njihov preduvjet za instalaciju ovdje.

Također pogledajte Hyperledger Composer: Izgradite svoj Enterprise Blockchain

Možda biste trebali instalirati binarne datoteke, uzorke i slike dockera. Pogledajte vodič za instalaciju ovdje.

Jednom kada instalirate uzorke, pronaći ćete uzorke tkanine koji su uključeni u njih. Trebao bi biti uključen u spremište “uzoraka tkanine”. U spremištu se nalazi uzorak prve mreže.

Da biste se premjestili u taj direktorij, pomaknite se u mapu pomoću naredbe cd kao što je prikazano u nastavku.

cd uzorci tkanine / prva mreža

Da biste pokrenuli uzorak prve mreže, trebate koristiti skriptu byfn.sh. Scenarij je dizajniran za brzi početak projekta s četvero kolega. Četiri kolege predstavljaju dvije različite organizacije. Također će pokrenuti spremnik, lančani kod i transakcije. Spremnik će omogućiti više vršnjaka da se pridruže mreži.

Stvaranje mrežnih artefakata

Sada možete generirati certifikate i ključeve za mrežne entitete. Da biste to učinili, morate pokrenuti sljedeću naredbu.

.byfn.sh generirati

Prije početka postupka zatražit će se potvrda. Pritisnite Y da biste započeli punjenje mreže potrebnim informacijama, uključujući napajanje usluga naručivanja, konfiguraciju i tako dalje.

Napajanje mreže

Dalje, trebamo napajati mrežu. Napajanje mreže može se obaviti jednostavnom naredbom u nastavku.

./byfn.sh gore

Jednom kada pokrenete naredbu, postat ćete okvir koji će sastaviti slike lanca Golang. Uz to, povezani spremnici će se također aktivirati kako bi novim vršnjacima pružili način za pridruživanje mreži. 

Prema zadanim postavkama vidjet ćete Go in action. To je zato što je Go zadani jezik lančanog koda. Ali, to ne znači da ne možete koristiti druge programske jezike. Chaincode također podržava Node.js i Java. Za promjenu u čvor možete upotrijebiti sljedeću naredbu. 

.byfn.sh gore -l čvor

Slično tome, možete i vi promijeniti u Java ako trebate.

.byfn.sh gore -l java

Ako želite koristiti više jezika s lančanim kodovima, tada morate koristiti uslugu naručivanja, uključujući Raft ili Kafka.

./byfn.sh gore -o etcdraft

./byfn.sh gore -o kafka

Svaki put kada upotrijebite naredbu, tražit ćete još jednom potvrdu prije izvršavanja naredbe.

Da biste dalje razumjeli kako graditi i održavati svoju prvu mrežu, pogledajte vodič za izgradnju mreže ovdje.

Pokretanje mreže

Sada, kada ste instalirali uzorke i prošli stranicu s preduvjetima, vrijeme je da pokrenemo mrežu.

Radi jednostavnosti nećemo koristiti JavaScript. Također, potreban vam je poddirektorij fabcar. Napravite i lokalni klon repo uzorka tkanine.

Da biste pokrenuli mrežu, trebate koristiti skriptu ljuske startFabric.sh. Jednom pokrenut, dobit ćete blockchain mrežu koja ima tijela za izdavanje certifikata, naručitelje, vršnjake i tako dalje. Kako se koristi podimenik fabcar, pametni ugovor FabCar automatski će se instalirati i pokrenuti. 

Naredba za pokretanje mreže je sljedeća:

./startFabric.sh javascript

Instaliranje aplikacije

Sada je vrijeme da instalirate aplikaciju. Ali, prije nego što to učinimo, moramo instalirati ovisnosti. 

npm instalirati

Gornja naredba započet će instaliranje važnih ovisnosti koje su definirane u paket.json

U paketu su važne klase koje će biti pokrenute

  • klasa fabric-network → omogućuje transakcije, identitete, novčanike
  • fabric-ca-client → registrirajte korisnike na njihova odgovarajuća tijela za izdavanje certifikata

Kada završimo, preći ćemo na fabcar / javascript direktorij. Pogledajmo datoteke direktorija u nastavku:

  • encrollAdmin.js
  • čvorovi_moduli
  • paket.json
  • registerUser.js
  • prizvati.js
  • package-lock.json
  • query.js
  • novčanik

Komunikacija s tijelom za ovjere

Sad, kad imamo pokrenutu mrežu, naučimo kako komunicirati s tijelom za izdavanje certifikata. 

Zahtjev za potpisivanje certifikata (CSR)

Naš prvi zadatak je proći kroz proces DOP-a. U ovom procesu, admin kontaktira tijelo za izdavanje certifikata kako bi generiralo javni, privatni i X.509 certifikat. Program koji se prije radio je enroll.js

Da biste upisali administratora, upotrijebite sljedeću naredbu.

čvor enrollAdmin.js

Sve su informacije sada pohranjene u novčanik imenik.

Isti postupak treba slijediti ako želite registrirati drugog korisnika. Pokušajmo registrirati drugog korisnika – usernew

čvor reisterUser.js 

Ovime ćete registrirati novog korisnika i pohraniti njegove vjerodajnice u novčanik zajedno s administratorom.

Upit o knjizi

Kako blockchain mreža ima kopiju glavne knjige, možete je upitati kako biste pronašli informacije. Knjige su samo za čitanje i zato se mogu izvršavati samo upiti za čitanje. Da bismo bolje razumjeli, provjerimo donju sliku.

Izvor: Hyperledger Fabric Docs

Vrijednosti na knjizi također ostaju nepromijenjene svjetska država. Ovo je vrijednost para ključeva o kojoj je ranije bilo riječi u vodiču. Dakle, upit može otkriti podatke iz ključeva. Dobra vijest je da možete koristiti baze podataka poput CouchDB. Svjetske države mogu se konfigurirati za upotrebu relacijskih baza podataka.

Da biste dobili popis svih automobila na knjizi, pokrenite sljedeću naredbu,

upit čvora.js

Da biste bolje razumjeli kako upiti funkcioniraju, možda biste se htjeli otvoriti query.js datoteku i prođite kroz nju. Krenimo kroz to u nastavku.

const {FileSystemWallet, Gateway} = zahtijeva (‘mreža tkanina’);

U gornjem retku uspostavljena je mrežna veza

Zatim se kreira pristupnik za povezivanje aplikacije. To se vrši pomoću donjih redaka.

const gateway = novi Gateway ();

await gateway.connect (ccp, {novčanik, identitet: ‘korisnik1’});

The ccp koristi se za identificiranje korisničkog identiteta i srodnih podataka o novčaniku. 

Kako mreža Hyperledger Fabric ima više kanala, važno je povezati se s određenim kanalom za aplikaciju.

const ugovor = network.getContract (‘fabcar’);

Razumijevanje pametnog ugovora

Da bismo bolje razumjeli pametni ugovor, prođimo kroz njega. Također će prikazati transakcije izvršene putem nje.

Da biste mu pristupili, morate otići u poddirektorij lančani kod / fabcar / javascript / lib. Jednom tamo otvorite fabcar.js u editoru.

Tamo ćete vidjeti upotrebu klase Contract za definiranje pametnog ugovora. Štoviše, unutar pametnog ugovora bile bi definirane jasne transakcije, uključujući queryCar, queryAllCars, initLedger, changeCarOwner i createCar.

Transakcije bi izgledale dolje:

async queryCar (ctx, carNumber) {…}

Pogledajmo transakciju queryCar.

async queryAllCars (ctx) {

  const startKey = ‘CAR0’;

  const endKey = ‘CAR999’;

  const iterator = pričekaj ctx.stub.getStateByRange (startKey, endKey);

Izvor: Hyperledger Fabric Docs

Ažuriranje knjige: Kupnja novog automobila

Posljednji je korak ažuriranje glavne knjige novim informacijama. U ovom slučaju, kreirajmo novi automobil pomoću invoke.js. Morate otvoriti datoteku i dodati joj sljedeću naredbu.

čekati ugovor.submitTransaction (‘createCar’, ‘CAR12’, ‘CarBrand’, ‘Model’, ‘Color’, ‘Owner’);

U gornjem kodu aplikacija poziva createCar pametne transakcije ugovora. Zauzvrat će stvoriti automobil sa svojim atributima, uključujući CarBrand, Color, Model i Owner.

Sada pokrenite sljedeći kod da biste ga gurnuli u knjigu

čvor invoke.js

To će rezultirati ažuriranjem glavne knjige i dobit ćete uspješan izlaz.

Zaključak

To nas vodi do kraja našeg tutorijala. U tutorialu nam je cilj bio pokriti samo površinu. Ako želite zaroniti duboko, možete pogledati njihove službene dokumente Hyperledger Fabric, koji detaljno raspravljaju o svemu. 

Pa, hoćete li koristiti Hyperledger Fabric za izgradnju poslovnog blockchaina? Komentirajte u nastavku i javite nam.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map