Hyperledger Fabric -opastus: Aloitusopas

Tervetuloa Hyperledger-kankaan opetusohjelma.

Tässä opetusohjelmassa opimme luomaan ensimmäisen Hyperledger-sovelluksesi ja muita tärkeitä asioita, jos olet yksi kehittäjistä, jotka ovat panostaneet syvälle lohkoketjuun ja haluavat aloittaa Hyperledger Fabricin käytön.

Kaikki yritystason puitteet edellyttävät asiantuntemusta toimiakseen. Jos olet aloittelija, huomaat, että kamppailet paljon pienten asioiden korjaamiseksi. Siksi on tärkeää aloittaa aikaisin ja harjoitella omalla tavallasi.

Mutta miksi Hyperpitkäkangas eikä mitään muu yrityksen lohkoketjurakenne?

Syynä on se, että Hyperledger Fabric on huippuluokan yrityslohkoketjurakenne, joka tarjoaa loistavaa DLT-lupaa. Siinä on hienoja ominaisuuksia, jotka tekevät siitä ihanteellisen valinnan yritykselle.

Voit mitata sen suosiota tarkistamalla sen jäsenet, jotka koostuvat CISCO: sta, IBM: stä, Intelistä, SAP: sta, Accenturesta ja muista.

Mikä on Hyperledger-kangas?

Hyperledger Fabric on avoimen lähdekoodin yritystason kehys. Se luottaa luvattuun hajautettuun kirjanpitotekniikkaan kaivattujen sovellusten ja ratkaisujen tarjoamiseksi. Linux Foundation työskentelee monenlaisten projektien parissa, ja Hyperledger Fabric on yksi niistä.

Koska se on avoimen lähdekoodin, kuka tahansa voi liittyä projektiin ja osallistua siihen. Tällä hetkellä 35 organisaatiota työskentelee yhdessä saadakseen Hyperledger Fabricista parhaan yrityskehyksen.

Hyperledger-kangas on ytimessä konfiguroitava ja modulaarinen. Tämä tarkoittaa, että yritykset voivat työskennellä saumattomasti kehyksen avulla. Kaikki nämä toivottavat ominaisuudet tekevät Hyperledger Fabricista loistavan valinnan! Kirjoittaessasi voit kokeilla Hyperledger Fabric v1.4: ää, joka sisältää uusia ominaisuuksia ja toimintoja.

Hyperledger-kankaan toiminnot

Hyperledger-kankaalla on viisi pääominaisuutta. Ne ovat seuraavat

  • Identiteetin hallinta: Identiteetin hallinta on ratkaisevan tärkeää kaikille sallituille verkoille. Siksi henkilöllisyyden hallinta on yksi tärkeimmistä ominaisuuksista Hyperledger-kankaassa. Antamalla järjestelmänvalvojalle oikean henkilöllisyyden hallinnan yritykset voivat varmistaa, että he käyttävät useita käyttöoikeustasoja.
  • Tehokas käsittely: Hyperledger-kangas on tehokas. Tämä johtuu siitä, että verkkoroolit on määritetty solmutyypiksi. Tehokkuus saadaan myös antamalla tapahtumien toteutus erillään sitoutumisesta ja tilaamisesta.
  • Modulaarinen rakenne:Hyperledger Fabric hyödyntää modulaarista suunnittelua, mikä tarkoittaa, että palveluita tai muita järjestelmiä on helppo integroida siihen. Tämä tarkoittaa myös, että voit määrittää konsensusalgoritmin, identiteetin ja niin edelleen.
  • Yksityisyys ja luottamuksellisuus:Hyperledger Fabric tarjoaa myös asianmukaisen luottamuksellisuuden ja yksityisyyden, mikä on yrityksille erittäin tärkeää. Ne tarjoavat asianmukaiset datakanavat, jotta tiedot eivät vuoda, ja luottamuksellisuus voidaan säilyttää millä hyvänsä.
  • Ketjukooditoiminto:Hyperledger Fabric tarjoaa ketjukooditoiminnon, jonka avulla logiikkaa voidaan käyttää vain, kun kutsutaan tietyntyyppistä tapahtumaa.

Muita Hyperledger-kankaan tärkeimpiä ominaisuuksia ovat laatukoodi, avoimen lähdekoodin, suuri skaalautuvuus ja tehokkuus sekä koko alan käyttö.


Hyperledger-kankaan opetusohjelma

Ennen sovelluksen kehittämisen aloittamista on parempi ymmärtää Hyperledger Fabricin järjestelmäarkkitehtuuri. Tekemällä niin voimme ymmärtää, miten se toimii sisäisesti. Tätä tietoa voidaan sitten käyttää ensimmäisen Hyperledger Fabric -sovelluksesi kehittämiseen.

Järjestelmäarkkitehtuuri

Ytimessä meillä on solmuja. Solmut kommunikoivat keskenään ja muodostavat verkon. On kuitenkin olemassa ohjelmia, joita ajaa itse lohkoketju. Ne ovat ketjukoodeja. Ketjukoodi vastaa pääkirja- ja tilatietojen säilyttämisestä ja huolehtii myös tapahtumien suorittamisesta.

Hyperledger Fabric -ketjussa ketjukoodi painottuu eniten, kun siihen suoritetaan tapahtumia operaatioina. Toisaalta liiketoimet on vahvistettava hyväksymällä. Vain hyväksytyt liiketoimet voidaan tehdä.

Tapahtumat

Hyperledger Fabric -tapahtumat voivat olla kahdenlaisia:

  • Ota tapahtumat käyttöön: Tämän tyyppiset tapahtumat ovat vastuussa uuden ketjukoodin luomisesta parametrilla ohjelmana. Kun se on tehty, ketjukoodin sanotaan olevan “asennettu” lohkoketjuun.
  • Kutsutapahtumat: Kutsutapahtumat ovat tapahtumia, jotka suoritetaan aiempien ketjukoodien käyttöönoton yhteydessä.

Blockchain-tietorakenteet

Lohkoketjussa käytetty perustietorakenne on avainarvosäilö (KVS). Avaimet ovat enimmäkseen nimiä, ja arvo on läiskät. Ketjukoodit voivat manipuloida tietorakennetta kahden seuraavan KVS-operaation avulla.

  • laittaa
  • saada

Koko tietorakenne nähdään tilana.

Ledger

Ledger on myös onnistuneiden tilamuutosten ja epäonnistuneiden yritysten sekvenssi. Ne tilataan niin, että niihin voidaan viitata myöhemmin. Lisäksi heille tilataan hashchain-lohkoja. Pääkirja sisältää lohkoja järjestyksessä, jotka vastineeksi sisältävät tilatun tapahtumataulukon.

Solmut

Solmut voivat olla mikä tahansa verkon viestintäkokonaisuus.

Asiakas

Asiakas on henkilö, joka voi toimia loppukäyttäjien puolesta.

Tähyillä

Vertaisryhmä käsittelee kirjanpidon tilan ja varmistaa, että verkko toimii optimaalisesti. Vertaisarvioijat voivat hyväksyä ikäisensä, mikä auttaa vahvistamaan tapahtuman.

Ensimmäisen Hyperledger Fabric -sovelluksen kirjoittaminen

Nyt kun olemme ymmärtäneet Hyperledger Fabricin arkkitehtuurirakenteen, on nyt aika luoda ensimmäinen sovelluksesi. Käymällä läpi sovelluksen pystyt ymmärtämään, kuinka Fabric-sovellukset toimivat. Tässä opetusohjelmassa opit käyttämään yksinkertaisia, älykkäitä sopimuksia ja muita sovelluksia puitteissa.

Kehityksen helpottamiseksi käytämme SDK-sovellusta avaimen viittaamiseen

toimintoja, mukaan lukien älykkäiden sopimusten ja muiden kyselyjen käyttäminen.

Kolme päävaihetta, jotka sinun on noudatettava kehitettäessä Hyperledger-kangassovellustasi, ovat seuraavat:

  1. Määritä kehitysympäristö. Kehitysympäristö antaa sovelluksellesi tarvittavan verkon työskennellä. Se antaa sinulle mahdollisuuden saada älykäs sopimuksesi toimimaan.
  2. Opi näyte älykkäistä sopimuksista. Täällä sinun täytyy käydä läpi älykäs sopimus ja ymmärtää sen tapahtumat. Suoritamme kyselyjä sovellusten simuloimana ja päivitämme myös pääkirjaa sitä käyttämällä.
  3. Esimerkkisovelluksen kehittäminen: Viimeisessä vaiheessa luot esimerkkisovelluksen käyttämällä älykästä sopimusta.

Ensimmäisen verkon rakentaminen

Rakennetaan ensimmäinen verkko ennen sovelluksen aloittamista. Aloittamiseksi meidän on asennettava joitain edellytyksiä. Nämä edellytykset takaavat, että kaikki sujuu tarkoitetulla tavalla.

Tutustu heidän edellytettyyn asennusoppaaseen tässä.

Katso myös Hyperledger Composer: Build Your Enterprise Blockchain

Voit halutessasi asentaa binääritiedostot, näytteet ja telakointikuvat. Katso asennusopas tässä.

Kun olet asentanut näytteet, löydät kankaanäytteet siihen. Sen tulisi sisältyä ”kangasnäytteet” -tietovarastoon. Tietovarastossa on ensimmäisen verkon näyte.

Jos haluat siirtyä kyseiseen hakemistoon, siirry kansioon cd-komennolla kuten alla.

CD-kangasnäytteet / ensimmäinen verkko

Ensimmäisen verkon näytteen suorittamiseksi sinun on käytettävä byfn.sh-komentosarjaa. Skripti on suunniteltu aloittamaan projekti neljän ikäisensä kanssa nopeasti. Neljä ikäisensä edustavat kahta erilaista organisaatiota. Se käynnistää myös kontin, ketjukoodin ja tapahtumat. Säilö antaa useamman vertaisryhmän liittyä verkkoon.

Verkko-artefaktien luominen

Voit nyt luoda sertifikaatit ja avaimet verkko-olioille. Tätä varten sinun on suoritettava seuraava komento.

.byfn.sh tuottaa

Sinulta pyydetään vahvistusta ennen prosessin alkua. Paina Y aloittaaksesi verkon täyttämisen tarvittavilla tiedoilla, mukaan lukien tilauspalveluiden virransyöttö, kokoonpano ja niin edelleen.

Virta verkkoon

Seuraavaksi meidän on kytkettävä virta verkkoon. Verkkovirta voidaan tehdä alla olevalla yksinkertaisella komennolla.

./byfn.sh ylös

Kun olet suorittanut komennon, kehys kokoaa Golang-ketjukoodikuvat. Lisäksi siihen liittyvät kontit syttyvät, jotta uudet ikäisensä voivat liittyä verkkoon.

Oletuksena näet Go toiminnassa. Tämä johtuu siitä, että Go on ketjukoodin oletuskieli. Mutta se ei tarkoita, ettet voi käyttää muita ohjelmointikieliä. Chaincode tukee myös Node.js ja Java. Voit vaihtaa solmuun käyttämällä seuraavaa komentoa.

.byfn.sh ylös -l-solmu

Vastaavasti voit vaihda Java-muotoon jos sinun täytyy.

.byfn.sh up -l java

Jos haluat käyttää useita ketjukoodikieliä, sinun on käytettävä tilauspalvelua, mukaan lukien Raft tai Kafka.

./byfn.sh ylös -o etcdraft

./byfn.sh ylös -o kafka

Aina kun käytät komentoa, pyydät vahvistusta vielä kerran ennen komennon suorittamista.

Lisätietoja verkon rakentamisen ja ylläpidon ymmärtämisestä on verkon rakentamisen oppaassa tässä.

Verkon käynnistäminen

Nyt kun olet asentanut näytteitä ja käynyt läpi vaadittavan sivun, on nyt aika käynnistää verkko.

Yksinkertaisuuden vuoksi emme aio käyttää JavaScriptiä. Tarvitset myös fabcar-alihakemiston. Tee myös kangasnäyte repo paikallinen klooni.

Verkon käynnistämiseksi sinun on käytettävä startFabric.sh-komentosarjaa. Käynnistyksen jälkeen saat blockchain-verkon, jolla on varmentajat, tilaajat, ikäisensä ja niin edelleen. Fabcar-alihakemistoa käytettäessä FabCar-älykäs sopimus asennetaan ja aloitetaan automaattisesti.

Verkon käynnistyskomento on seuraava:

./startFabric.sh javascript

Sovelluksen asentaminen

Nyt on aika asentaa sovellus. Mutta ennen kuin teemme sen, meidän on asennettava riippuvuudet.

npm asentaa

Yllä oleva komento alkaa asentaa tärkeät riippuvuudet, jotka on määritelty package.json

Pakettiin kuuluvat tärkeät aloitettavat luokat

  • kangasverkkoluokka → mahdollistaa tapahtumat, identiteetit, lompakot
  • fabric-ca-client → rekisteröi käyttäjät varmenteiden myöntäjiin

Kun olet valmis, siirrymme fabcar / javascript-hakemistoon. Tarkastellaan alla olevia hakemistotiedostoja:

  • encrollAdmin.js
  • solmu_moduulit
  • package.json
  • registerUser.js
  • invoke.js
  • package-lock.json
  • query.js
  • lompakko

Viestintä varmenneviranomaisen kanssa

Nyt kun meillä on käynnissä oleva verkko, opitaan kommunikoimaan varmenteen myöntäjän kanssa.

Sertifikaatin allekirjoituspyyntö (CSR)

Ensimmäinen tehtävämme on käydä läpi yritysten yhteiskuntavastuu. Tässä prosessissa admin ottaa yhteyttä varmenteen myöntäjään julkisen, yksityisen ja X.509-varmenteen luomiseksi. Aiemmin käytetty ohjelma on enroll.js

Rekisteröi järjestelmänvalvoja käyttämällä seuraavaa komentoa.

solmu rekisteröintiAdmin.js

Kaikki tiedot on nyt tallennettu lompakko hakemistoon.

Samaa prosessia on noudatettava, jos haluat rekisteröidä toisen käyttäjän. Yritetään rekisteröidä toinen käyttäjä – usernew

solmu reisterUser.js

Tämä rekisteröi uuden käyttäjän ja tallentaa sen tunnistetiedot lompakkoon järjestelmänvalvojan kanssa.

Ledgerin kysely

Koska lohkoketjuverkossa on kopio pääkirjasta, voit etsiä tietoja kyselemällä sitä. Palkat ovat vain luku -muodossa, ja siksi vain lukukyselyjä voidaan suorittaa. Saadaksesi paremman käsityksen, tutustu alla olevaan kuvaan.

Hyplerledger-kankaan opetusohjelma

Lähde: Hyperledger Fabric Docs

Myös kirjanpidon arvot pysyvät siinä maailman valtio. Tämä on avainparin arvo, josta keskusteltiin aiemmin opetusohjelmassa. Joten kysely voi paljastaa tietoja avaimista. Hyvä uutinen on, että voit käyttää tietokantoja, kuten CouchDB. Maailmavaltiot voidaan määrittää käyttämään relaatiotietokantoja.

Saadaksesi luettelon kaikista kirjanpidon autoista, suorita seuraava komento,

solmu kysely.js

Haluat ehkä paremmin ymmärtää kyselyn toimivuuden, avaa se query.js tiedosto ja käy se läpi. Käydään se läpi alla.

const {FileSystemWallet, Gateway} = vaatia (‘kangasverkko’);

Yllä olevalla rivillä muodostetaan verkkoyhteys

Sitten luodaan yhdyskäytävä sovelluksen yhdistettäväksi. Se tehdään käyttämällä alla olevia viivoja.

const gateway = uusi yhdyskäytävä ();

odota yhdyskäytävää.connect (ccp, {lompakko, identiteetti: ’käyttäjä1’});

ccp käytetään tunnistamaan käyttäjätunnus ja siihen liittyvät lompakon tiedot.

Koska Hyperledger Fabric -verkossa on useita kanavia, on tärkeää muodostaa yhteys sovelluksen tiettyyn kanavaan.

const sopimus = verkko.getContract (’fabcar’);

Älykkään sopimuksen ymmärtäminen

Käy läpi se, jotta ymmärrät paremmin älykkään sopimuksen. Se esittelee myös sen kautta suoritetut liiketoimet.

Pääset siihen siirtymällä alihakemistoon ketjukoodi / fabcar / javascript / lib. Kun olet siellä, avaa fabcar.js editorissa.

Siellä näet sopimuksen luokan käytön määrittelemään älykäs sopimus. Älykkäässä sopimuksessa olisi lisäksi määritelty selkeät tapahtumat, mukaan lukien queryCar, queryAllCars, initLedger, changeCarOwner ja createCar.

Tapahtumat näyttävät seuraavalta:

asynkronointikyselyauto (ctx, carNumber) {…}

Tarkastellaan kyselyauto-tapahtumaa.

async queryAllCars (ctx) {

const startKey = ’CAR0’;

const endKey = ’CAR999’;

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

hyperkirjauskangas solmun js-opetusohjelma

Lähde: Hyperledger Fabric Docs

Päivityksen päivittäminen: Uuden auton ostaminen

Viimeinen vaihe on päivittää kirjanpito uusilla tiedoilla. Luodaan tässä tapauksessa uusi auto käyttämällä invoke.js-tiedostoa. Sinun on avattava tiedosto ja lisättävä siihen seuraava komento.

odota sopimusta.submitTransaction (’createCar’, ‘CAR12’, ’CarBrand’, ’Model’, ‘Color’, ‘Owner’);

Yllä olevassa koodissa sovelluspuhelut createCar-älykkäät sopimustapahtumat. Vastineeksi se luo auton sen ominaisuuksilla, kuten CarBrand, Color, Model ja Owner.

Aja nyt seuraava koodi työntääksesi sen pääkirjaan

solmu invoke.js

Tämä johtaa kirjanpidon päivitykseen ja saat onnistuneen tuloksen.

Johtopäätös

Tämä johtaa meidät opetusohjelmamme loppuun. Opetusohjelmassa tavoitteenamme oli peittää vain pinta. Jos haluat sukeltaa syvälle, voit tarkistaa heidän viralliset Hyperledger Fabric -asiakirjat, joissa käsitellään kaikkea yksityiskohtaisesti.

Joten aiotko käyttää Hyperledger Fabricia yrityksen lohkoketjun rakentamiseen? Kommentoi alla ja kerro siitä meille.

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