Hyperledger Fabric oktatóanyag: Első lépések útmutató

Üdv a Hyperledger szövet bemutató.

Ebben az oktatóanyagban megtudhatjuk, hogyan hozhatja létre az első Hyperledger alkalmazást és más fontos dolgokat, ha Ön egy olyan fejlesztő, aki mélyen befektet a blokkláncba, és el akarja kezdeni a Hyperledger Fabric használatát..

Bármely vállalati szintű keretrendszerhez szakértelem szükséges. Ha kezdő vagy, azon kapod magad, hogy sokat küzdesz apró dolgok kijavításáért. Ezért fontos a korai kezdés és a magad módján gyakorolni.

De miért Hyperledger szövet és nem akármilyen egyéb vállalati blokklánc keretrendszer?

Ennek oka, hogy a Hyperledger Fabric egy csúcsminőségű vállalati blokklánc keretrendszer, amely nagyszerű engedélyezett elosztott főkönyvi technológiát (DLT) kínál. Van néhány remek tulajdonsága, amelyek ideális választást jelentenek egy vállalkozás számára.

A népszerűségét felmérheti tagjai ellenőrzésével, amely a CISCO, az IBM, az Intel, az SAP, az Accenture és mások részből áll..

Mi a Hyperledger Fabric?

A Hyperledger Fabric egy nyílt forráskódú vállalati szintű keretrendszer. A szükséges alkalmazások és megoldások biztosításához engedélyezett elosztott főkönyvi technológiára támaszkodik. A Linux Foundation változatos számú projekten dolgozik, és a Hyperledger Fabric az egyik.

Mivel nyílt forráskódú, bárki csatlakozhat a projekthez, és hozzájárulhat hozzá. Jelenleg 35 szervezet dolgozik együtt, hogy a Hyperledger Fabric a legjobb vállalati keretrendszer legyen.

A Hyperledger Fabric lényegében konfigurálható és moduláris. Ez azt jelenti, hogy a vállalkozások zökkenőmentesen működhetnek a keretrendszer használatával. Ezek a kívánatos funkciók a Hyperledger Fabric-t remek választássá teszik! Az írás idején kipróbálhatja a Hyperledger Fabric v1.4 verziót, amely új funkciókkal és funkciókkal rendelkezik.

Hyperledger szövet funkciók

A Hyperledger Fabric öt fő tulajdonsággal rendelkezik. Ezek a következők

  • Identitáskezelés: Az identitáskezelés kulcsfontosságú minden engedélyezett hálózat számára. Ezért az identitáskezelés a Hyperledger szövet egyik legfontosabb jellemzője. Azáltal, hogy a rendszergazdának megadta a megfelelő identitáskezelés beállítását, a vállalkozások megbizonyosodhatnak arról, hogy az engedélyek több rétegét alkalmazzák.
  • Hatékony feldolgozás: A Hyperledger Fabric hatékony. Ennek oka, hogy a hálózati szerepkörök csomópont-típusként vannak hozzárendelve. A hatékonyságot az is biztosítja, hogy a tranzakciók végrehajtását elkülönítik a kötelezettségvállalástól és a megrendeléstől.
  • Moduláris kialakítás:A Hyperledger Fabric moduláris felépítést alkalmaz, ami azt jelenti, hogy könnyen integrálhatók benne szolgáltatások vagy más rendszerek. Ez azt is jelenti, hogy megadhatja a konszenzus algoritmust, az azonosságot és így tovább.
  • Adatvédelem és titoktartás:A Hyperledger Fabric megfelelő titoktartást és adatvédelmet is kínál, ami nagyon fontos a vállalkozások számára. Megfelelő adatcsatornákat kínálnak, hogy az információk ne szivárogjanak ki, és a titoktartás bármi áron fenntartható.
  • Lánckód funkció:A Hyperledger Fabric lánckód funkcionalitást kínál, amely lehetővé teszi a logika meghívását csak egy adott típusú tranzakció meghívásakor.

A Hyperledger szövet további főbb jellemzői a minőségi kód, a nyílt forráskódú, a nagy méretezhetőség és hatékonyság, valamint az ipar egészére kiterjedő használat.

Hyperledger szövet bemutató

Az alkalmazás fejlesztésének megkezdése előtt érdemes megérteni a Hyperledger Fabric rendszerarchitektúráját. Ezzel megérthetjük, hogyan működik belsőleg. Ez a tudás felhasználható az első Hyperledger Fabric alkalmazás fejlesztéséhez.

Rendszer Felépítés

Lényegében csomópontok vannak. A csomópontok kommunikálnak egymással és hálózatot hoznak létre. Vannak azonban olyan programok, amelyeket maga a blokklánc futtat. Lánckód. A lánckód felelős a főkönyvi és az állami adatok tárolásáért, és gondoskodik a tranzakciók végrehajtásáról is.

A Hyperledger Fabric-ben a lánckód veszi a legnagyobb hangsúlyt, mivel a tranzakciókat rajta hajtják végre, mint műveleteket. A tranzakciókat viszont jóváhagyással kell érvényesíteni. Csak jóváhagyott ügyleteket lehet kötni.

Tranzakciók

A Hyperledger Fabric tranzakciói kétféle lehet:

  • Tranzakciók üzembe helyezése: Ez a típusú tranzakció felelős új paraméterként programként létrehozott lánckód létrehozásáért. Ha elkészült, akkor azt mondják, hogy a lánckód „telepítve van” a blokkláncra.
  • Hívási tranzakciók: A meghívási tranzakciók olyan tranzakciók, amelyeket a korábbi lánckód-telepítések összefüggésében hajtanak végre.

Blockchain adatstruktúrák

A blokkláncban használt alapvető adatstruktúra a kulcsérték-tároló (KVS). A kulcsok többnyire nevek, és az érték foltok. A lánckódok két következő KVS-művelet segítségével manipulálhatják az adatszerkezetet.

  • tedd
  • kap

A teljes adatszerkezetet állapotnak tekintik.

Főkönyv

A főkönyv a sikeres állapotváltozások és sikertelen kísérletek sorrendje is. Rendelésre kerülnek, hogy későbbre lehessen hivatkozni rájuk. Rendelkeznek hashchain-tranzakciókkal. A főkönyv sorrendben tartalmaz blokkokat, amelyek cserébe megrendelt tranzakciós tömböt tartalmaznak.

Csomópontok

A csomópontok bármely kommunikációs entitás lehetnek a hálózaton belül.

Ügyfél

Az ügyfél az, aki a végfelhasználók nevében járhat el.

Peer

A Peer kezeli a főkönyv állapotát, és biztosítja a hálózat optimális működését. A társaik támogathatják a társakat, ami hozzájárul egy tranzakció jóváhagyásához.

Az első Hyperledger Fabric alkalmazás megírása

Most, hogy megértettük a Hyperledger Fabric építészeti felépítését, itt az ideje létrehozni az első alkalmazását. Az alkalmazáson keresztül megismerheti a Fabric alkalmazások működését. Ebben az oktatóanyagban megtanulhatja, hogyan kell használni az egyszerű, intelligens szerződéseket és más alkalmazásokat a keretek között.

Fejlesztésünk megkönnyítése érdekében az SDK alkalmazást fogjuk használni a kulcs egyszerű hivatkozására

funkciók, ideértve az intelligens szerződések és egyéb lekérdezések meghívását.

A Hyperledger fabric alkalmazás fejlesztése során követendő három fő lépés a következőket tartalmazza:

  1. Állítsa be a fejlesztői környezetet. A fejlesztői környezet megadja az alkalmazás számára a szükséges hálózatot, amellyel együtt kell működni. Ez lehetővé teszi számodra, hogy intelligens szerződésed is működőképes legyen.
  2. Az intelligens szerződések mintájának megismerése. Itt át kell esnie az okos szerződésen és meg kell értenie annak tranzakcióit. Lekérdezéseket futtatunk az alkalmazások által szimulálva, és frissítjük a főkönyvet is.
  3. Mintaalkalmazás fejlesztése: Az utolsó lépésben létrehoz egy minta alkalmazást az intelligens szerződés használatával.

Az első hálózat kiépítése

Mielőtt elkezdenénk az alkalmazást, építsük fel az első hálózatunkat. A kezdéshez telepítenünk kell néhány előfeltételt. Ezek az előfeltételek biztosítják, hogy minden a rendeltetésszerűen működjön.

Olvassa el az előfeltétel telepítési útmutatót itt.

Nézze meg a Hyperledger Composer: Build Your Enterprise Blockchain oldalt is

Érdemes bináris fájlokat, mintákat és dokkoló képeket telepíteni. Nézze meg a telepítési útmutatót itt.

A minták telepítése után megtalálja a szövetmintákat. Fel kell venni a „szövetminták” adattárba. A tárban található az első hálózati minta.

A könyvtárba lépéshez lépjen a mappába a cd paranccsal, az alábbiak szerint.

cd szövetminták / első hálózat

Az első hálózati minta futtatásához ki kell használnia a byfn.sh parancsfájlt. A szkriptet úgy tervezték, hogy négy társával gyorsan elindítsa a projektet. A négy társ két különböző szervezetet képvisel. Ezenkívül elindítja a konténert, a lánckódot és a tranzakciókat. A tároló lehetővé teszi további társak csatlakozását a hálózathoz.

Hálózati tárgyak előállítása

Most már létrehozhatja a tanúsítványokat és kulcsokat a hálózati entitásokhoz. Ehhez a következő parancsot kell futtatnia.

.byfn.sh generál

A folyamat megkezdése előtt megerősítést kérünk tőled. Nyomja meg az Y billentyűt a hálózat feltöltésének megkezdéséhez a szükséges információkkal, beleértve a rendelési szolgáltatások áramellátását, a konfigurációt stb.

A hálózat áramellátása

Ezután be kell kapcsolnunk a hálózatot. A hálózat áramellátása az alábbi egyszerű paranccsal végezhető el.

./byfn.sh fel

A parancs futtatása után a keretrendszer összeállítja a Golang lánckód képeket. Ezenkívül a társított tárolók is fel fognak gyulladni, hogy az új társaknak módjuk legyen csatlakozni a hálózathoz.

Alapértelmezés szerint a Go in action műveletet látja. Ez azért van, mert a Go a lánckód alapértelmezett nyelve. De ez nem azt jelenti, hogy nem használhat más programozási nyelveket. A Chaincode támogatja a Node.js-t és a Java-t is. Csomópontra váltáshoz használja a következő parancsot.

.byfn.sh fel -l csomópont

Hasonlóképpen lehet válts Java-ra ha kell.

.byfn.sh up -l java

Ha több lánckódos nyelvet szeretne használni, akkor igénybe kell vennie a Raft vagy a Kafka megrendelési szolgáltatást.

./byfn.sh up -o etcdraft

./byfn.sh up -o kafka

A parancs minden egyes használatakor újra meg kell erősítenie a parancs végrehajtása előtt.

Az első hálózat kiépítésének és karbantartásának további megértéséhez nézze meg a hálózatépítési oktatóanyagot itt.

A hálózat elindítása

Most, hogy telepítette a mintákat, és átment az előfeltételek oldalon, itt az ideje, hogy elindítsuk a hálózatot.

Az egyszerűség kedvéért nem fogunk JavaScriptet használni. Szüksége van a fabcar alkönyvtárra is. Készítsen szövetmintás repo helyi klónt is.

A hálózat elindításához a startFabric.sh shell parancsfájlt kell használnia. Miután elindította, kap egy blokklánc-hálózatot, amely rendelkezik tanúsító hatóságokkal, megrendelőkkel, társakkal és így tovább. Mivel a fabcar alkönyvtárat használják, a FabCar intelligens szerződés automatikusan telepítésre és kezdeményezésre kerül.

A hálózat indítására szolgáló parancs a következő:

./startFabric.sh javascript

Az alkalmazás telepítése

Itt az ideje az alkalmazás telepítésének. De mielőtt ezt megtennénk, telepítenünk kell a függőségeket.

npm telepítés

A fenti parancs elkezdi telepíteni a fontos függőségeket, amelyeket a csomag.json

A csomagban a beindítandó fontos osztályok tartalmazzák

  • fabric-network osztály → lehetővé teszi a tranzakciókat, azonosságokat, pénztárcákat
  • fabric-ca-client → regisztrálja a felhasználókat a megfelelő tanúsító hatóságaikhoz

Ha elkészült, átkerülünk a fabcar / javascript könyvtárba. Nézzük meg az alábbi könyvtárfájlokat:

  • encrollAdmin.js
  • csomópont_modulok
  • csomag.json
  • registerUser.js
  • invoke.js
  • package-lock.json
  • query.js
  • pénztárca

Kommunikáció a tanúsító hatósággal

Most, hogy futó hálózatunk van, tanuljuk meg, hogyan kommunikálhatunk egy tanúsító hatósággal.

Tanúsítvány-aláírási kérelem (CSR)

Első feladatunk a CSR folyamatának átélése. Ebben a folyamatban a admin felveszi a kapcsolatot a tanúsító hatósággal az állami, a magán és az X.509 tanúsítvány előállításához. A korábban használt program az enroll.js

Az adminisztrátor regisztrálásához használja a következő parancsot.

csomópont enrollAdmin.js

Az összes információt most a pénztárca Könyvtár.

Ugyanezt a folyamatot kell követni, ha másik felhasználót szeretne regisztrálni. Próbáljunk meg regisztrálni egy másik felhasználót – usernew

csomópont reisterUser.js

Ez regisztrálja az új felhasználót, és hitelesítő adatait a pénztárcában tárolja az admin mellett.

Ledger lekérdezése

Mivel a blokklánc hálózat rendelkezik a főkönyv másolatával, lekérdezheti az információt. A főkönyvek csak olvashatók, és ezért csak olvasott lekérdezéseket lehet végrehajtani. A jobb megértés érdekében nézzük meg az alábbi képet.

Hyplerledger szövet bemutató

Forrás: Hyperledger Fabric Docs

A főkönyvi értékek is benne maradnak világállam. Ez az a kulcspár érték, amelyet az oktatóanyag korábban tárgyalt. Tehát egy lekérdezés felfedheti a kulcsok adatait. A jó hír az, hogy használhat olyan adatbázisokat, mint a CouchDB. A világállamok konfigurálhatók relációs adatbázisok használatára.

A főkönyvben szereplő összes autó listájának megtekintéséhez futtassa a következő parancsot,

csomópont lekérdezés.js

Ha jobban meg szeretné érteni, hogyan működik a lekérdezés, érdemes nyitnia query.js fájlt, és menjen át rajta. Menjünk át alább.

const {FileSystemWallet, Gateway} = igényel (‘szövet-hálózat’);

A fenti sorban hálózati kapcsolat jön létre

Ezután egy átjáró jön létre az alkalmazás csatlakozásához. Az alábbi vonalak segítségével történik.

const gateway = új átjáró ();

várja az átjárót.connect (ccp, {pénztárca, identitás: ’user1’});

A ccp a felhasználói identitás és a kapcsolódó pénztárca információk azonosítására szolgál.

Mivel a Hyperledger Fabric hálózat több csatornát futtat, fontos, hogy csatlakozzon az alkalmazás adott csatornájához.

const szerződés = network.getContract (‘fabcar’);

Az intelligens szerződés megértése

Az okos szerződés jobb megértése érdekében menjünk át rajta. Bemutatja az általa végrehajtott tranzakciókat is.

Ahhoz, hogy elérje, fel kell lépnie az alkönyvtárba chaincode / fabcar / javascript / lib. Miután odaért, nyissa meg a fabcar.js fájlt egy szerkesztőben.

Ott látni fogja a Contract osztály használatát az intelligens szerződés meghatározásához. Ezenkívül az intelligens szerződésben egyértelmű tranzakciók lennének meghatározva, beleértve a queryCar, a queryAllCars, az initLedger, a changeCarOwner és a createCar.

A tranzakciók az alábbiak szerint néznének ki:

async queryCar (ctx, carNumber) {…}

Nézzük meg a queryCar tranzakciót.

async queryAllCars (ctx) {

const startKey = ’CAR0’;

const endKey = ’CAR999’;

const iterator = várjon ctx.stub.getStateByRange (startKey, endKey);

hiperkönyves szövet csomópont js oktatóanyag

Forrás: Hyperledger Fabric Docs

A főkönyv frissítése: Új autó vásárlása

Az utolsó lépés a főkönyv frissítése új információkkal. Ebben az esetben hozzunk létre egy új autót az invoke.js használatával. Meg kell nyitnia a fájlt, és hozzá kell adnia a következő parancsot.

várja a szerződést.submitTransaction (‘createCar’, ‘CAR12’, ‘CarBrand’, ’Model’, ‘Color’, ‘Owner’);

A fenti kódban az alkalmazás felhívja a createCar intelligens szerződéses tranzakciókat. Cserébe létrehozza az autót annak jellemzőivel, beleértve a CarBrand, a Color, a Model és a Owner elemeket.

Most futtassa a következő kódot a főkönyvhöz

csomópont invoke.js

Ez egy főkönyv frissítést eredményez, és sikeres kimenetet kap.

Következtetés

Ez elvezet minket az oktatóanyag végéhez. Az oktatóanyagban az volt a célunk, hogy csak a felületet fedjük le. Ha mélyre akar merülni, megnézheti a Hyperledger Fabric hivatalos dokumentumait, amelyek mindent részletesen tárgyalnak.

Tehát a Hyperledger Fabric-ot fogja használni a vállalati blokklánc felépítéséhez? Hozzászólás az alábbiakban, és tudassa velünk.

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