Vadnica za tkanine Hyperledger: Vodnik za začetek

Dobrodošli v Vadnica za tkanine Hyperledger. 

V tej vadnici bomo izvedeli, kako ustvariti svojo prvo aplikacijo Hyperledger in druge pomembne stvari, če ste eden od razvijalcev, ki globoko vlagajo v verigo blokov in želijo začeti s Hyperledger Fabric.

Vsak okvir podjetja potrebuje strokovno znanje za delo. Če ste novinec, se boste veliko trudili popraviti majhne stvari. Zato je pomembno, da začnete zgodaj in vadite po svoje.

Ampak zakaj Tkanina Hyperledger in ne kateri koli drugo podjetniško ogrodje blockchain?

Razlog je v tem, da je Hyperledger Fabric vrhunski sistem veriženja poslovnih blokov, ki ponuja odlično dovoljeno tehnologijo porazdeljene knjige (DLT). Ima nekaj odličnih lastnosti, zaradi katerih je idealna izbira za podjetje. 

Njegovo priljubljenost lahko ocenite tako, da preverite njene člane, ki ga sestavljajo CISCO, IBM, Intel, SAP, Accenture in drugi.

Kaj je tkanina Hyperledger?

Hyperledger Fabric je odprtokodni okvir podjetja. Pri zagotavljanju prepotrebnih aplikacij in rešitev se opira na pooblaščeno tehnologijo porazdeljene knjige. Linux Foundation dela na številnih projektih, Hyperledger Fabric pa je eden izmed njih.

Ker je odprtokodna, se lahko vsakdo pridruži projektu in prispeva k njemu. Trenutno 35 organizacij sodeluje, da bi Hyperledger Fabric postal najboljši poslovni okvir.

V bistvu je Hyperledger Fabric nastavljiv in modularen. To pomeni, da lahko podjetja brez težav delujejo z uporabo okvira. Zaradi vseh teh zaželenih lastnosti je tkanina Hyperledger odlična izbira! V času pisanja lahko preizkusite Hyperledger Fabric v1.4, ki ima nove funkcije in funkcionalnosti..

Funkcije tkanin Hyperledger

Hyperledger Fabric ima pet glavnih lastnosti. Ti so naslednji

  • Upravljanje identitete: Upravljanje identitete je ključnega pomena za vsako dovoljeno omrežje. Zato je upravljanje identitete ena od ključnih značilnosti Hyperledgerjeve tkanine. Če skrbniku dodeli, da nastavi pravilno upravljanje identitet, lahko podjetja poskrbijo, da uporabljajo več plasti dovoljenj.
  • Učinkovita obdelava: tkanina Hyperledger je učinkovita. To je zato, ker so omrežne vloge dodeljene kot tip vozlišča. Učinkovitost je zagotovljena tudi z omogočanjem izvedbe transakcij ločeno od prevzema obveznosti in naročanja.
  • Modularna zasnova: Hyperledger Fabric uporablja modularno zasnovo, kar pomeni, da je vanj enostavno vključiti storitve ali druge sisteme. To tudi pomeni, da lahko določite algoritem soglasja, identiteto itd. 
  • Zasebnost in zaupnost: Hyperledger Fabric ponuja tudi ustrezno zaupnost in zasebnost, kar je za podjetja zelo pomembno. Ponujajo ustrezne podatkovne kanale, da informacije ne puščajo, zaupnost pa je mogoče ohraniti za vsako ceno.
  • Funkcionalnost verižne kode: Hyperledger Fabric ponuja funkcionalnost verižne kode, ki omogoča, da se logika prikliče le, ko je poklicana določena vrsta transakcije. 

Druge ključne lastnosti tkanine Hyperledger vključujejo kakovostno kodo, odprtokodnost, veliko razširljivost in učinkovitost ter uporabo v celotni panogi.. 

Vadnica za tkanine Hyperledger

Preden začnete razvijati aplikacijo, je bolje razumeti sistemsko arhitekturo Hyperledger Fabric. S tem lahko razumemo, kako deluje notranje. To znanje lahko nato uporabite za razvoj vaše prve aplikacije Hyperledger Fabric. 

Arhitektura sistema

V jedru imamo vozlišča. Vozlišča med seboj komunicirajo in tvorijo omrežje. Vendar obstajajo programi, ki jih poganja blockchain sam. So verižne kode. Verižna koda je odgovorna za hrambo podatkov knjige in stanja ter skrbi tudi za izvajanje transakcij. 

V Hyperledger Fabric verižna koda daje največji poudarek, saj se na njej izvajajo transakcije kot operacije. Transakcije pa je treba potrditi s potrditvijo. Lahko se zavežejo samo potrjene transakcije.

Transakcije

Transakcije na Hyperledger Fabric so lahko dve vrsti:

  • Uvedite transakcije: Ta vrsta transakcij je odgovorna za ustvarjanje nove verižne kode s parametrom kot programom. Po končani verigi naj bi bila “nameščena” na verigi blokov.
  • Priklic transakcij: Transakcije priklica so transakcije, ki se izvedejo v kontekstu prejšnjih uvedb verižne kode.

Blockchain podatkovne strukture

Osnovna podatkovna struktura, ki se uporablja v verigi blokov, je shramba ključ-vrednost (KVS). Tipke so večinoma imena, vrednost pa so blobs. Chaincodes lahko manipulirajo s podatkovno strukturo s pomočjo dveh naslednjih operacij KVS.

  • dal
  • dobili

Celotna struktura podatkov je videti kot stanje.

Ledger

Ledger je tudi zaporedje uspešnih sprememb stanja in neuspešnih poskusov. Naročeni so tako, da se lahko pozneje sklicujejo nanje. Naročeni so tudi bloki transakcij hashchain. Glavna knjiga vsebuje zaporedne bloke, ki v zameno vsebujejo urejeno matriko transakcij.

Vozlišča

Vozlišča so lahko katera koli komunikacijska enota znotraj omrežja.

Naročnik

Stranka je nekdo, ki lahko deluje v imenu končnih uporabnikov.

Vrstnik

Peer ureja stanje glavne knjige in zagotavlja optimalno delovanje omrežja. Vrstniki lahko podpirajo vrstnike, kar pomaga pri odobritvi transakcije.

Pisanje prve aplikacije za tkanine Hyperledger 

Zdaj, ko smo razumeli arhitekturno strukturo tkanine Hyperledger, je čas, da ustvarite svojo prvo aplikacijo. Z ogledom aplikacije boste lahko razumeli, kako delujejo aplikacije Fabric. V tej vadnici boste izvedeli, kako uporabljati preproste, pametne pogodbe in druge aplikacije v okviru. 

Za lažji razvoj bomo uporabili aplikacijski SDK za lažje sklicevanje na ključ 

funkcije, vključno s sklicevanjem na pametne pogodbe in drugimi poizvedbami.

Trije glavni koraki, ki jih morate upoštevati pri razvoju aplikacije za tkanine Hyperledger, vključujejo naslednje:

  1. Nastavite razvojno okolje. Razvojno okolje daje vaši aplikaciji potrebno omrežje za delo. Dala vam bo možnost, da tudi vaša pametna pogodba deluje.
  2. Spoznavanje vzorčnih pametnih pogodb. Tukaj morate prebrati pametno pogodbo in razumeti njene transakcije. Izvajali bomo poizvedbe, ki so jih simulirale aplikacije, in z njimi tudi posodabljali knjigo.
  3. Razvoj vzorčne aplikacije: V zadnjem koraku boste ustvarili vzorčno aplikacijo s pametno pogodbo.

Izgradnja prve mreže

Preden začnemo z aplikacijo, zgradimo svoje prvo omrežje. Za začetek moramo namestiti nekaj predpogojev. Ti predpogoji bodo zagotovili, da bo vse teklo, kot je predvideno.

Oglejte si njihov predpogojni vodnik za namestitev tukaj.

Oglejte si tudi Hyperledger Composer: Build your Enterprise Blockchain

Morda boste želeli namestiti binarne datoteke, vzorce in slike dockerja. Oglejte si navodila za namestitev tukaj.

Ko namestite vzorce, boste našli vzorce tkanin, ki so v njih vključeni. Vključen mora biti v odlagališče “vzorcev blaga”. V odlagališču je vzorec prve mreže.

Če se želite premakniti v ta imenik, se z ukazom cd premaknite v mapo, kot je prikazano spodaj.

cd vzorci blaga / prva mreža

Če želite zagnati vzorec prvega omrežja, morate uporabiti skript byfn.sh. Scenarij je zasnovan tako, da hitro začne projekt s štirimi vrstniki. Štirje vrstniki predstavljajo dve različni organizaciji. Zagnal bo tudi vsebnik, verižno kodo in transakcije. Vsebnik bo omogočil več vrstnikom, da se pridružijo omrežju.

Ustvarjanje mrežnih artefaktov

Zdaj lahko generirate potrdila in ključe za omrežne entitete. Če želite to narediti, morate zagnati naslednji ukaz.

.byfn.sh generira

Pred začetkom postopka boste morali potrditi. Pritisnite Y, da začnete polniti omrežje s potrebnimi informacijami, vključno z napajanjem storitev naročanja, konfiguracijo itd.

Napajanje omrežja

Nato moramo napajati omrežje. Omrežje lahko napajate s preprostim ukazom spodaj.

./byfn.sh gor

Ko zaženete ukaz, boste v ogrodju zbrali slike verižne kode Golang. Poleg tega se bodo sprožili povezani zabojniki, ki bodo novim vrstnikom omogočili, da se pridružijo omrežju. 

Privzeto boste videli Pojdi v akcijo. To je zato, ker je Go privzeti jezik verižne kode. To pa ne pomeni, da ne morete uporabljati drugih programskih jezikov. Verižna koda podpira tudi Node.js in Java. Če želite spremeniti v vozlišče, lahko uporabite naslednji ukaz. 

.byfn.sh gor -l vozlišče

Podobno lahko spremenite v Java če je treba.

.byfn.sh gor -l java

Če želite uporabljati več jezikov verižne kode, potem morate uporabiti storitev naročanja, vključno z Raftom ali Kafko.

./byfn.sh gor -o etcdraft

./byfn.sh gor -o kafka

Vsakič, ko uporabite ukaz, boste morali še enkrat potrditi, preden se ukaz izvede.

Če želite nadalje razumeti, kako zgraditi in vzdrževati svoje prvo omrežje, si oglejte vadnico za gradnjo omrežja tukaj.

Zagon omrežja

Zdaj, ko ste namestili vzorce in pregledali stran s predpogoji, je zdaj čas, da zaženemo omrežje.

Zaradi poenostavitve ne bomo uporabljali JavaScript. Potrebujete tudi podimenik fabcar. Naredite tudi lokalni klon repo vzorca blaga.

Če želite zagnati omrežje, morate uporabiti skript lupine startFabric.sh. Po zagonu boste dobili omrežje blockchain, ki ima overitelje potrdil, naročnike, vrstnike itd. Ko se uporablja podimenik fabcar, bo pametna pogodba FabCar samodejno nameščena in sprožena. 

Ukaz za zagon omrežja je naslednji:

./startFabric.sh javascript

Namestitev aplikacije

Zdaj je čas, da namestite aplikacijo. Preden pa to storimo, moramo namestiti odvisnosti. 

npm namestite

Zgornji ukaz bo začel nameščati pomembne odvisnosti, ki so definirane v package.json

V paketu so pomembni razredi, ki se bodo začeli

  • razred tkanine-omrežja → omogoča transakcije, identitete, denarnice
  • fabric-ca-client → registrirajte uporabnike pri njihovih ustreznih overiteljih

Ko končamo, se premaknemo v imenik fabcar / javascript. Oglejmo si imeniške datoteke spodaj:

  • encrollAdmin.js
  • node_modules
  • package.json
  • registerUser.js
  • invoke.js
  • package-lock.json
  • query.js
  • denarnico

Komuniciranje s certifikacijskim organom

Zdaj, ko imamo delujoče omrežje, se naučimo, kako komunicirati s overiteljem. 

Zahteva za podpis potrdila (CSR)

Naša prva naloga je iti skozi proces družbene odgovornosti podjetij. V tem postopku je skrbnik vzpostavi stik s overiteljem, da ustvari javno, zasebno in potrdilo X.509. Program, ki smo ga uporabljali, je enroll.js

Za včlanitev skrbnika uporabite naslednji ukaz.

vozlišče enrollAdmin.js

Vse informacije so zdaj shranjene v denarnico imenik.

Če želite registrirati drugega uporabnika, je treba slediti istemu postopku. Poskusimo registrirati drugega uporabnika – usernew

vozlišče reisterUser.js 

Novi uporabnik bo registriran in poverilnice shranil v denarnico skupaj s skrbnikom.

Poizvedovanje po knjigi

Ker ima veriga blokov kopijo knjige, jo lahko poizvedujete, da poiščete informacije. Knjige so samo za branje in zato je mogoče izvajati samo poizvedbe za branje. Za boljše razumevanje si oglejmo spodnjo sliko.

Vir: Hyperledger Fabric Docs

Vrednosti na knjigi tudi ostanejo pri njej svetovna država. To je vrednost para ključev, ki je bila obravnavana prej v vadnici. Torej, poizvedba lahko razkrije podatke iz ključev. Dobra novica je, da lahko uporabljate baze podatkov, kot je CouchDB. Svetovne države je mogoče konfigurirati za uporabo relacijskih podatkovnih baz.

Če želite dobiti seznam vseh avtomobilov v knjigi, zaženite naslednji ukaz,

vozlišče query.js

Če želite bolje razumeti, kako poizvedovanje deluje, se boste morda želeli odpreti query.js datoteko in jo preglejte. Gremo skozi to spodaj.

const {FileSystemWallet, Gateway} = Zahtevaj („tkaninsko omrežje“);

V zgornji vrstici je vzpostavljena omrežna povezava

Nato se ustvari prehod za povezavo aplikacije. To se naredi z uporabo spodnjih vrstic.

const prehod = nov prehod ();

await gateway.connect (ccp, {denarnica, identiteta: ‘uporabnik1’});

The ccp se uporablja za prepoznavanje identitete uporabnika in s tem povezanih informacij o denarnici. 

Ker omrežje Hyperledger Fabric vodi več kanalov, je pomembno, da se povežete z določenim kanalom za aplikacijo.

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

Razumevanje pametne pogodbe

Da bi bolje razumeli pametno pogodbo, si jo oglejmo. Prikazane bodo tudi transakcije, opravljene prek njega.

Če želite dostopati do njega, pojdite v podimenik verižna koda / fabcar / javascript / lib. Ko je tam, odprite fabcar.js v urejevalniku.

Tam boste videli uporabo razreda Contract za definiranje pametne pogodbe. Poleg tega bi bile v pametni pogodbi opredeljene jasne transakcije, vključno s queryCar, queryAllCars, initLedger, changeCarOwner in createCar.

Transakcije bi bile videti spodaj:

async queryCar (ctx, carNumber) {…}

Poglejmo transakcijo queryCar.

async queryAllCars (ctx) {

  const startKey = ‘CAR0’;

  const endKey = ‘CAR999’;

  const iterator = počakajte ctx.stub.getStateByRange (startKey, endKey);

Vir: Hyperledger Fabric Docs

Posodabljanje Ledger: Nakup novega avtomobila

Zadnji korak je posodobitev knjige z novimi informacijami. V tem primeru ustvarimo nov avto z uporabo invoke.js. Datoteko morate odpreti in ji dodati naslednji ukaz.

počakajte na pogodbo.submitTransaction (‘createCar’, ‘CAR12’, ‘CarBrand’, ‘Model’, ‘Color’, ‘Owner’);

V zgornji kodi aplikacija kliče transakcije pametne pogodbe createCar. V zameno bo ustvaril avto z njegovimi atributi, vključno z znamko CarBrand, barvo, modelom in lastnikom.

Zdaj zaženite naslednjo kodo, da jo potisnete v knjigo

vozlišče invoke.js

To bo povzročilo posodobitev knjige in dobili boste uspešen rezultat.

Zaključek

To nas vodi do konca naše vadnice. V vadnici smo želeli pokriti samo površino. Če se želite potopiti globoko, si oglejte njihove uradne dokumente Hyperledger Fabric, v katerih je vse podrobno razloženo. 

Torej, boste uporabili Hyperledger Fabric za gradnjo verige podjetij? Komentirajte spodaj in nam sporočite.

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