Hyperledger auduma apmācība: darba sākšanas rokasgrāmata

Laipni lūdzam vietnē Hyperledger auduma apmācība. 

Šajā apmācībā mēs uzzināsim, kā izveidot savu pirmo Hyperledger lietojumprogrammu un citas svarīgas lietas, ja esat viens no izstrādātājiem, kurš ir ieguldīts pamatīgi blokķēdē un vēlaties sākt darbu ar Hyperledger Fabric.

Jebkuram uzņēmuma līmeņa ietvaram ir nepieciešamas zināšanas. Ja esat iesācējs, jūs atradīsit sev daudz pūļu, lai labotu mazas lietas. Tāpēc ir svarīgi sākt agri un praktizēt savā veidā.

Bet kāpēc Hyperledger audums un ne kāds cita uzņēmuma bloku ķēdes sistēma?

Iemesls ir tāds, ka Hyperledger Fabric ir visaugstākā līmeņa uzņēmuma bloku ķēdes sistēma, kas piedāvā lielisku atļauto izplatīto virsgrāmatu tehnoloģiju (DLT). Tam ir dažas lieliskas iespējas, kas padara to par ideālu izvēli uzņēmumam. 

Jūs varat novērtēt tā popularitāti, pārbaudot tā dalībniekus, kas sastāv no CISCO, IBM, Intel, SAP, Accenture un citiem.

Kas ir Hyperledger audums?

Hyperledger Fabric ir atvērtā koda uzņēmuma līmeņa sistēma. Tas paļaujas uz atļauju piešķirtu izplatītās virsgrāmatas tehnoloģiju, lai nodrošinātu tik vajadzīgās lietojumprogrammas un risinājumus. Linux Foundation strādā pie daudz dažādu projektu, un Hyperledger Fabric ir viens no tiem.

Tā kā tas ir atvērtā koda, ikviens var pievienoties projektam un tajā piedalīties. Pašlaik 35 organizācijas strādā kopā, lai padarītu Hyperledger Fabric par labāko uzņēmuma struktūru.

Būtībā Hyperledger Fabric ir konfigurējams un modulārs. Tas nozīmē, ka uzņēmumi, izmantojot sistēmu, var strādāt nevainojami. Visas šīs vēlamās funkcijas padara Hyperledger Fabric par lielisku izvēli! Rakstīšanas laikā varat izmēģināt Hyperledger Fabric v1.4, kas nāk ar jaunām funkcijām un funkcijām.

Hyperledger auduma funkcionalitāte

Hyperledger Audumam ir piecas galvenās iezīmes. Tie ir šādi

  • Identitātes pārvaldība: identitātes pārvaldībai ir izšķiroša nozīme visos tīklos, kuriem atļauts piekļuve. Tāpēc identitātes pārvaldība ir viena no izšķirošajām iezīmēm Hyperledger audumā. Piešķirot administratoram pareizu identitātes pārvaldības iestatīšanu, uzņēmumi var pārliecināties, ka viņi izmanto vairākus atļauju slāņus.
  • Efektīva apstrāde: Hyperledger audums ir efektīvs. Tas ir tāpēc, ka tīkla lomas tiek piešķirtas kā mezgla tips. Efektivitāti nodrošina arī tas, ka darījumu izpilde tiek atļauta atsevišķi no saistībām un pasūtīšanas.
  • Moduļu dizains: Hyperledger Fabric izmanto moduļu dizainu, kas nozīmē, ka tajā ir viegli integrēt pakalpojumus vai citas sistēmas. Tas nozīmē arī to, ka jūs varat norādīt vienprātības algoritmu, identitāti utt. 
  • Konfidencialitāte un konfidencialitāte: Hyperledger Fabric piedāvā arī pareizu konfidencialitāti un privātumu, kas uzņēmumiem ir ļoti svarīgi. Viņi piedāvā atbilstošus datu kanālus, lai informācija neizplūstu, un konfidencialitāti var saglabāt par katru cenu.
  • Ķēdes koda funkcionalitāte: Hyperledger Fabric piedāvā ķēdes koda funkcionalitāti, kas ļauj loģiku izsaukt tikai tad, kad tiek izsaukts noteikta veida transakcija. 

Citas galvenās Hyperledger auduma iezīmes ir kvalitātes kods, atvērtā koda, lieliska mērogojamība un efektivitāte, kā arī lietojums visā nozarē. 

Hyperledger auduma apmācība


Pirms sākat izstrādāt lietojumprogrammu, labāk saprast Hyperledger Fabric sistēmas arhitektūru. To darot, mēs varam saprast, kā tas darbojas iekšēji. Pēc tam šīs zināšanas var izmantot, lai izstrādātu savu pirmo Hyperledger Fabric lietojumprogrammu. 

Sistēmas arhitektūra

Būtībā mums ir mezgli. Mezgli sazinās viens ar otru un izveido tīklu. Tomēr ir programmas, kuras vada pati blokķēde. Tie ir ķēdes kods. Ķēdes kods ir atbildīgs par virsgrāmatas un valsts datu glabāšanu, kā arī rūpējas par darījumu izpildi. 

Hyperledger Fabric ķēdes kods ir vislielākais uzsvars, jo darījumi tiek veikti ar to kā operācijām. Savukārt darījumi ir jāapstiprina ar apstiprinājumu. Var veikt tikai apstiprinātus darījumus.

Darījumi

Darījumi ar Hyperledger Fabric var būt divu veidu:

  • Izvietot darījumus: Šāda veida darījumi ir atbildīgi par jauna ķēdes koda izveidošanu ar parametru kā programmu. Kad tas ir izdarīts, tiek teikts, ka ķēdes kods ir “instalēts” blokķēdē.
  • Izsaukt transakcijas: Izsaukt transakcijas ir transakcijas, kas tiek izpildītas iepriekšējo ķēdes kodu izvietojumu kontekstā.

Blockchain datu struktūras

Blokķēdē izmantotā datu pamatstruktūra ir atslēgas vērtību krājums (KVS). Taustiņi galvenokārt ir nosaukumi, un vērtība ir lāse. Ķēdes kodi var manipulēt ar datu struktūru ar divu sekojošu KVS darbību palīdzību.

  • likt
  • gūt

Visa datu struktūra tiek uzskatīta par stāvokli.

Virsgrāmata

Virsgrāmata ir arī veiksmīgu stāvokļa izmaiņu un neveiksmīgu mēģinājumu secība. Tie ir pasūtīti, lai uz tiem vēlāk varētu atsaukties. Turklāt viņiem tiek pasūtīti darījumu hashain bloki. Virsgrāmatā ir secīgi bloki, kas savukārt satur pasūtītu darījumu masīvu.

Mezgli

Mezgli var būt jebkura tīkla komunikācijas vienība.

Klients

Klients ir tas, kurš var rīkoties tiešo lietotāju vārdā.

Peer

Vienaudži apstrādā virsgrāmatas stāvokli un nodrošina tīkla optimālu darbību. Vienaudži var apstiprināt vienaudžus, kas palīdz apstiprināt darījumu.

Rakstot savu pirmo Hyperledger Fabric lietotni 

Tagad, kad esam sapratuši Hyperledger Fabric arhitektūras struktūru, ir pienācis laiks izveidot savu pirmo lietojumprogrammu. Apskatot lietojumprogrammu, jūs varēsiet saprast, kā darbojas Fabric lietojumprogrammas. Šajā apmācībā jūs uzzināsiet, kā ietvaros izmantot vienkāršus, viedus līgumus un citas lietojumprogrammas. 

Lai atvieglotu mūsu attīstību, mēs izmantosim lietojumprogrammu SDK, lai viegli atrastu atslēgu 

funkcijas, tostarp viedo līgumu un citu jautājumu izsaukšana.

Trīs galvenie soļi, kas jums jāievēro, izstrādājot Hyperledger auduma lietotni, ir šādi:

  1. Iestatiet izstrādes vidi. Izstrādes vide nodrošina jūsu lietojumprogrammai nepieciešamo tīklu darbam. Tas dos jums iespēju panākt, lai arī jūsu viedais līgums darbotos.
  2. Uzzināt par viedo līgumu paraugiem. Šeit jums ir jāiziet viedais līgums un jāsaprot tā darījumi. Mēs izpildīsim vaicājumus, kā simulē lietojumprogrammas, un arī atjaunināsim virsgrāmatu, izmantojot to.
  3. Lietojumprogrammas parauga izstrāde: izmantojot viedo līgumu, jūs izveidosiet lietojumprogrammas paraugu.

Pirmā tīkla veidošana

Pirms sākam darbu ar lietojumprogrammu, izveidosim savu pirmo tīklu. Lai sāktu, mums ir jāinstalē daži priekšnosacījumi. Šie priekšnoteikumi nodrošinās, ka viss darbojas kā paredzēts.

Iepazīstieties ar viņu obligāto instalēšanas rokasgrāmatu šeit.

Apskatiet arī Hyperledger Composer: Build Your Enterprise Blockchain

Iespējams, vēlēsities instalēt bināros failus, paraugus un dokstacijas attēlus. Pārbaudiet instalēšanas rokasgrāmatu šeit.

Pēc paraugu instalēšanas jūs atradīsit tajā iekļautos auduma paraugus. Tas jāiekļauj “auduma paraugu” krātuvē. Repozitorijā ir pirmā tīkla paraugs.

Lai pārietu uz šo direktoriju, pārejiet uz mapi ar komandu cd, kā norādīts zemāk.

CD auduma paraugi / pirmais tīkls

Lai palaistu pirmā tīkla paraugu, jums jāizmanto skripts byfn.sh. Skripts ir paredzēts, lai ātri sāktu projektu ar četriem vienaudžiem. Četri vienaudži pārstāv divas dažādas organizācijas. Tas arī palaidīs konteineru, ķēdes kodu un darījumus. Konteiners ļaus vairākiem vienaudžiem pievienoties tīklam.

Tīkla artefaktu ģenerēšana

Tagad varat ģenerēt sertifikātus un atslēgas tīkla entītijām. Lai to izdarītu, jums jāpalaiž šāda komanda.

.byfn.sh ģenerēt

Pirms procesa sākuma jums tiks lūgts apstiprinājums. Nospiediet Y, lai sāktu tīkla aizpildīšanu ar nepieciešamo informāciju, ieskaitot barošanu no pasūtīšanas pakalpojumiem, konfigurāciju utt.

Tīkla barošana

Tālāk mums jāattīsta tīkls. Tīkla barošanu var veikt ar vienkāršu komandu zemāk.

./byfn.sh up

Pēc komandas izpildīšanas jūs izveidosiet Golang ķēdes koda attēlus. Turklāt tiks aktivizēti arī saistītie konteineri, lai jaunajiem vienaudžiem nodrošinātu iespēju pievienoties tīklam. 

Pēc noklusējuma jūs redzēsiet Go darbībā. Tas ir tāpēc, ka Go ir ķēdes koda noklusējuma valoda. Bet tas nenozīmē, ka jūs nevarat izmantot citas programmēšanas valodas. Chaincode atbalsta arī Node.js un Java. Lai pārslēgtos uz mezglu, varat izmantot šādu komandu. 

.byfn.sh up -l mezgls

Tāpat jūs varat mainīt uz Java ja vajag.

.byfn.sh up -l java

Ja vēlaties izmantot vairākas ķēdes kodu valodas, jums jāizmanto pasūtīšanas pakalpojums, ieskaitot Raft vai Kafka.

./byfn.sh up -o etcdraft

./byfn.sh up -o kafka

Katru reizi, kad izmantojat komandu, pirms komandas izpildes jums būs jāpieprasa vēlreiz apstiprinājums.

Lai vairāk saprastu, kā izveidot un uzturēt savu pirmo tīklu, skatiet tīkla veidošanas apmācību šeit.

Tīkla palaišana

Kad esat instalējis paraugus un izgājis priekšnoteikumu lapu, mums ir pienācis laiks palaist tīklu.

Vienkāršības labad mēs neizmantosim JavaScript. Jums ir nepieciešama arī fabcar apakšdirektorija. Izveidojiet arī auduma parauga repo vietējo klonu.

Lai palaistu tīklu, jums jāizmanto čaulas startFabric.sh skripts. Pēc palaišanas jūs saņemsiet blokķēdes tīklu, kurā ir sertifikātu izdevēji, pasūtītāji, vienaudži utt. Tā kā tiek izmantota fabcar apakšdirektorija, FabCar viedais līgums tiks automātiski instalēts un uzsākts. 

Tīkla palaišanas komanda ir šāda:

./startFabric.sh javascript

Lietotnes instalēšana

Ir pienācis laiks instalēt lietojumprogrammu. Bet, pirms to izdarām, mums jāinstalē atkarības. 

npm instalēt

Iepriekš minētā komanda sāks instalēt svarīgās atkarības, kas definētas pakete.json

Paketē ir iekļautas svarīgās klases, kuras tiks uzsāktas

  • auduma tīkla klase → ļauj veikt darījumus, identitātes, seifus
  • fabric-ca-client → reģistrējiet lietotājus attiecīgajām sertifikātu iestādēm

Kad tas būs izdarīts, mēs pāriesim uz fabcar / javascript direktoriju. Apskatīsim tālāk norādītos direktoriju failus:

  • encrollAdmin.js
  • mezgla_moduļi
  • pakete.json
  • registerUser.js
  • invoke.js
  • package-lock.json
  • vaicājums.js
  • maciņš

Saziņa ar sertifikātu izdevēju iestādi

Tagad, kad mums darbojas tīkls, uzzināsim, kā sazināties ar sertifikātu izdevēju iestādi. 

Sertifikāta parakstīšanas pieprasījums (CSR)

Mūsu pirmais uzdevums ir iziet KSA procesu. Šajā procesā admin sazinās ar sertifikāta iestādi, lai ģenerētu publisko, privāto un X.509 sertifikātu. Izmantotā programma ir enroll.js

Lai reģistrētu administratoru, izmantojiet šo komandu.

mezgls enrollAdmin.js

Visa informācija tagad ir saglabāta maciņš direktorijā.

Tas pats process ir jāievēro, ja vēlaties reģistrēt citu lietotāju. Mēģināsim reģistrēt citu lietotāju – lietotājsnew

mezgls reisterUser.js 

Tas reģistrēs jauno lietotāju un glabās tā akreditācijas datus makā līdzās administratoram.

Vaicājot virsgrāmatu

Tā kā blokķēdes tīklā ir virsgrāmatas kopija, varat atrast vaicājumu, lai atrastu informāciju. Virsgrāmatas ir tikai lasāmas, un tāpēc var izpildīt tikai lasīšanas vaicājumus. Lai labāk izprastu, apskatīsim zemāk redzamo attēlu.

Avots: Hyperledger Fabric Docs

Arī virsgrāmatas vērtības paliek tās pasaules valsts. Šī ir atslēgu pāra vērtība, kas tika apspriesta iepriekš apmācībā. Tātad vaicājums var atklāt datus no atslēgām. Labā ziņa ir tā, ka jūs varat izmantot tādas datu bāzes kā CouchDB. Pasaules valstis var konfigurēt, lai izmantotu relāciju datu bāzes.

Lai iegūtu visu virsgrāmatā esošo automašīnu sarakstu, izpildiet šādu komandu,

mezgls vaicājums.js

Lai labāk izprastu vaicājumu darbību, ieteicams atvērt vaicājums.js failu un iet caur to. Apskatīsim to tālāk.

const {FileSystemWallet, Gateway} = pieprasīt (‘auduma tīkls’);

Iepriekš minētajā rindā tiek izveidots tīkla savienojums

Pēc tam tiek izveidota vārteja lietojumprogrammas savienošanai. Tas tiek darīts, izmantojot zemāk redzamās līnijas.

const vārteja = new Gateway ();

gaidīt vārteju.connect (ccp, {seifs, identitāte: ‘lietotājs1’});

The CCP tiek izmantots, lai identificētu lietotāja identitāti un ar to saistīto seifa informāciju. 

Tā kā tīklā Hyperledger Fabric darbojas vairāki kanāli, ir svarīgi izveidot savienojumu ar konkrēto lietojumprogrammas kanālu.

const līgums = network.getContract (‘fabcar’);

Izpratne par viedo līgumu

Lai labāk izprastu viedo līgumu, iziesim to cauri. Tas parādīs arī darījumus, kas veikti ar tā starpniecību.

Lai piekļūtu tai, jums jāiet uz apakšdirektoriju ķēdes kods / fabcar / javascript / lib. Kad tur esat, redaktorā atveriet fabcar.js.

Tur jūs redzēsiet līguma klases izmantošanu, lai definētu viedo līgumu. Turklāt viedajā līgumā būtu noteikti skaidri darījumi, tostarp queryCar, queryAllCars, initLedger, changeCarOwner un createCar.

Darījumi izskatīsies šādi:

async queryCar (ctx, carNumber) {…}

Apskatīsim queryCar darījumu.

async queryAllCars (ctx) {

  const startKey = ‘CAR0’;

  const endKey = ‘CAR999’;

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

Avots: Hyperledger Fabric Docs

Virsgrāmatas atjaunināšana: jaunas automašīnas iegāde

Pēdējais solis ir atjaunināt virsgrāmatu ar jaunu informāciju. Šajā gadījumā izveidosim jaunu automašīnu, izmantojot vietni invoke.js. Jums jāatver fails un tam jāpievieno šāda komanda.

gaidīt līgumu.submitTransaction (‘createCar’, ‘CAR12’, ‘CarBrand’, ’Model’, ‘Color’, ‘Owner’);

Iepriekš minētajā kodā lietotnes izsaukumi izveido smartCar smart darījumus. Tas pretī radīs automašīnu ar tās atribūtiem, tostarp CarBrand, Color, Model un Owner.

Tagad palaidiet šo kodu, lai virzītu to uz virsgrāmatu

mezgls invoke.js

Tā rezultātā tiks atjaunināta virsgrāmata, un jūs iegūsiet veiksmīgu rezultātu.

Secinājums

Tas mūs noved pie mūsu apmācības beigām. Apmācībā mūsu mērķis bija segt tikai virsmu. Ja vēlaties ienirt dziļi, varat apskatīt viņu oficiālos Hyperledger Fabric dokumentus, kuros viss ir detalizēti apspriests. 

Tātad, vai jūs izmantojat Hyperledger Fabric, lai izveidotu uzņēmuma blokķēdi? Komentējiet zemāk un informējiet mūs.

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