Hyperledger Fabric Tutorial: Kom i gang-guide

Velkommen til Hyperledger Fabric Tutorial.

I denne opplæringen vil vi lære hvordan du lager din første Hyperledger-applikasjon og andre viktige ting hvis du er en av utviklerne som er investert dypt i blockchain og vil komme i gang med Hyperledger Fabric.

Ethvert rammeverk av bedriftsgrad krever ekspertise for å fungere. Hvis du er en nybegynner, vil du oppleve at du sliter mye med å fikse små ting. Derfor er det viktig å starte tidlig og øve på din egen måte.

Men hvorfor Hyperledger stoff og ikke noen andre blockchain-rammeverk for bedrifter?

Årsaken er at Hyperledger Fabric er et førsteklasses blockchain-rammeverk for bedrifter som tilbyr god tillatt distribuert hovedboksteknologi (DLT). Den har noen flotte funksjoner som gjør det til et ideelt valg for en bedrift.

Du kan måle populariteten ved å sjekke medlemmene, som består av CISCO, IBM, Intel, SAP, Accenture og andre.

Hva er Hyperledger Fabric?

Hyperledger Fabric er et rammeverk med åpen kildekode. Den er avhengig av tillatt distribuert hovedboksteknologi for å tilby sårt tiltrengte applikasjoner og løsninger. Linux Foundation jobber med et mangfoldig antall prosjekter, og Hyperledger Fabric er en av dem.

Siden det er åpen kildekode, kan alle bli med i prosjektet og bidra til det. Akkurat nå jobber 35 organisasjoner sammen for å gjøre Hyperledger Fabric til det beste bedriftsrammeverket der ute.

Kjernen er Hyperledger Fabric konfigurerbar og modulær. Dette betyr at bedrifter kan jobbe sømløst ved hjelp av rammeverket. Alle disse ønskelige funksjonene gjør Hyperledger Fabric til et godt valg! I skrivende stund kan du prøve Hyperledger Fabric v1.4, som kommer med nye funksjoner og funksjoner.

Hyperledger stofffunksjoner

Hyperledger Fabric kommer med fem hovedfunksjoner. De er som følger

  • Identitetsstyring: Identitetsstyring er avgjørende for ethvert tillatt nettverk. Derfor er identitetsstyring en av de viktigste funksjonene i Hyperledger-stoffet. Ved å gi administratoren å angi riktig identitetsadministrasjon, kan bedrifter sørge for at de bruker flere lag med tillatelse.
  • Effektiv prosessering: Hyperledger Fabric er effektiv. Dette er fordi nettverksroller tildeles som nodetype. Effektiviteten tilveiebringes ved å la transaksjonen utføre separat fra forpliktelse og bestilling.
  • Modulær design:Hyperledger Fabric bruker modulær design, noe som betyr at det er enkelt å integrere tjenester eller andre systemer i den. Dette betyr også at du kan spesifisere konsensusalgoritmen, identiteten og så videre.
  • Personvern og konfidensialitet:Hyperledger Fabric tilbyr også riktig konfidensialitet og personvern, noe som er veldig viktig for bedrifter. De tilbyr riktige datakanaler slik at informasjon ikke lekker, og konfidensialiteten kan opprettholdes for enhver pris.
  • Kjedekodefunksjonalitet:Hyperledger Fabric tilbyr kjedekodefunksjonalitet, som gjør det mulig å påkalle logikk bare når en bestemt type transaksjon blir ringt.

Andre viktige funksjoner i Hyperledger-stoff inkluderer kvalitetskode, åpen kildekode, god skalerbarhet og effektivitet og bruk i hele bransjen.


Hyperledger Fabric Tutorial

Før du begynner å utvikle et program, er det bedre å forstå systemarkitekturen til Hyperledger Fabric. Ved å gjøre det kan vi forstå hvordan det fungerer internt. Denne kunnskapen kan deretter brukes til å utvikle din første Hyperledger Fabric-applikasjon.

system arkitektur

I kjernen har vi noder. Nodene kommuniserer med hverandre og lager et nettverk. Imidlertid er det programmer som drives av selve blockchain. De er kjettingkode. Kjedekoden er ansvarlig for å oppbevare hovedbok- og statsdata, og tar seg også av gjennomføring av transaksjoner.

I Hyperledger Fabric legger kjedekoden mest vekt når transaksjoner utføres på den som operasjoner. Transaksjoner, derimot, må valideres ved påtegning. Bare godkjente transaksjoner kan begås.

Transaksjoner

Transaksjonene på Hyperledger Fabric kan være av to typer:

  • Distribuere transaksjoner: Denne typen transaksjoner er ansvarlig for å opprette ny kjettingkode med parameter som program. Når det er gjort, sies det at kjedekoden er “installert” på blockchain.
  • Påkalle transaksjoner: Påkalle transaksjonene er transaksjoner som utføres i sammenheng med tidligere kjedekodedistribusjoner.

Blockchain datastrukturer

Den grunnleggende datastrukturen som brukes i blockchain er nøkkelverdilageret (KVS). Tastene er for det meste navn, og verdien er blobs. Kjedekoder kan manipulere datastrukturen ved hjelp av to etterfølgende KVS-operasjoner.

  • sette

Hele datastrukturen blir sett på som en tilstand.

Hovedbok

Ledger er også sekvensen av vellykkede statsendringer og mislykkede forsøk. De bestilles slik at de kan refereres senere. De bestilles også hashchain-blokker med transaksjoner. Hovedboka inneholder blokker i rekkefølge, som til gjengjeld inneholder bestilt transaksjonsoppstilling.

Noder

Noder kan være en hvilken som helst kommunikasjonsenhet i nettverket.

Klient

En klient er noen som kan handle på slutten av brukerne.

Likemann

Peer håndterer hovedbokens tilstand og sørger for at nettverket fungerer optimalt. Jevnaldrende kan godkjenne jevnaldrende, noe som hjelper med å godkjenne en transaksjon.

Skrive din første Hyperledger Fabric-app

Nå som vi har forstått den arkitektoniske strukturen til Hyperledger Fabric, er det nå på tide å lage din første applikasjon. Ved å gå gjennom applikasjonen vil du kunne forstå hvordan Fabric-applikasjoner fungerer. I denne opplæringen lærer du hvordan du bruker enkle, smarte kontrakter og andre applikasjoner innenfor rammen.

For å gjøre utviklingen enklere, vil vi bruke applikasjonen SDK for enkel referanse til nøkkelen

funksjoner, inkludert påkallelse av smarte kontrakter og andre spørsmål.

De tre viktigste trinnene du må følge mens du utvikler Hyperledger stoff-appen, inkluderer følgende:

  1. Sett opp utviklingsmiljøet. Utviklingsmiljøet gir søknaden din det nødvendige nettverket å jobbe med. Det vil gi deg muligheten til å få din smarte kontrakt til å fungere også.
  2. Lære om smarte kontrakter. Her må du gjennomgå den smarte kontrakten og forstå transaksjonene. Vi vil kjøre spørsmål som er simulert av applikasjoner og også oppdatere hovedboken ved hjelp av den.
  3. Utvikling av en prøveapplikasjon: I det siste trinnet vil du opprette en prøveapplikasjon ved hjelp av den smarte kontrakten.

Bygg første nettverk

Før vi begynner med applikasjonen, la oss bygge vårt første nettverk. For å komme i gang, må vi installere noen forutsetninger. Disse forutsetningene vil sikre at alt går som forutsatt.

Sjekk deres forutsette installasjonsveiledning her.

Ta også en titt på Hyperledger Composer: Build Your Enterprise Blockchain

Det kan være lurt å installere binærfiler, eksempler og dockerbilder. Sjekk installasjonsveiledningen her.

Når du har installert prøvene, finner du stoffprøvene som er inkludert i den. Det bør inkluderes i “stoff-prøver” -registeret. I depotet er det første nettverkseksempel.

For å flytte til den katalogen, flytt til mappen med cd-kommandoen som nedenfor.

cd stoff-prøver / første nettverk

For å kjøre eksemplet på det første nettverket, må du bruke byfn.sh-skriptet. Manuset er designet for å starte prosjektet med fire jevnaldrende raskt. De fire jevnaldrende representerer to forskjellige organisasjoner. Det vil også lansere container, kjedekode og transaksjoner. Containeren vil gjøre det mulig for flere jevnaldrende å bli med i nettverket.

Genererer nettverksgjenstander

Du kan nå generere sertifikater og nøkler for nettverksenhetene. For å gjøre dette må du kjøre følgende kommando.

.byfn.sh generere

Du blir bedt om bekreftelse før prosessen starter. Trykk på Y for å starte fylle nettverket med den nødvendige informasjonen, inkludert strøming av bestillingstjenestene, konfigurasjon og så videre.

Strømforsyning til nettverket

Deretter må vi strømforsyne nettverket. Strømforsyning til nettverket kan gjøres med den enkle kommandoen nedenfor.

./byfn.sh opp

Når du har kjørt kommandoen, vil du lage rammeverket Golang-kjettingkodebildene. I tillegg vil de tilknyttede containerne også fyre opp for å gi nye jevnaldrende en måte å bli med på nettverket.

Som standard ser du Gå i aksjon. Det er fordi Go er standardspråket for kjedekoden. Men det betyr ikke at du ikke kan bruke andre programmeringsspråk. Chaincode støtter også Node.js og Java. For å bytte til en node, kan du bruke følgende kommando.

.byfn.sh opp -l node

På samme måte kan du endre til Java hvis du trenger det.

.byfn.sh opp -l java

Hvis du ønsker å bruke flere kjedekodespråk, må du bruke bestillingstjeneste inkludert Raft eller Kafka.

./byfn.sh opp -o etcdraft

./byfn.sh opp -o kafka

Hver gang du bruker kommandoen, vil du be om å bekrefte igjen før kommandoen utføres.

For ytterligere å forstå hvordan du bygger og vedlikeholder ditt første nettverk, sjekk ut veiledningen for nettverksbygging her.

Lanserer nettverket

Nå som du har installert prøver og har gått gjennom forutsetningssiden, er det nå på tide for oss å starte nettverket.

For enkelhets skyld skal vi ikke bruke JavaScript. Du trenger også fabcars underkatalog. Lag en stoffprøve repo lokal klon også.

For å starte nettverket må du bruke startFabric.sh-skallskriptet. Når du er lansert, vil du få et blockchain-nettverk som har sertifikatmyndigheter, bestillere, jevnaldrende og så videre. Ettersom fabcar-underkatalog brukes, vil FabCar-smartkontrakten automatisk installeres og startes.

Kommandoen for å starte nettverket er som nedenfor:

./startFabric.sh javascript

Installere applikasjonen

Nå er det på tide å installere applikasjonen. Men før vi gjør det, må vi installere avhengighetene.

npm installere

Kommandoen ovenfor begynner å installere de viktige avhengighetene som er definert i pakke.json

I pakken inkluderer de viktige klassene som skal igangsettes

  • stoff-nettverksklasse → muliggjør transaksjoner, identiteter, lommebøker
  • fabric-ca-client → registrer brukere til sine respektive sertifikatmyndigheter

Når det er gjort, vil vi flytte til fabcar / javascript-katalogen. La oss se på katalogfilene nedenfor:

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

Kommunisere med sertifikatmyndigheten

Nå som vi har et løpende nettverk, la oss lære hvordan vi kommuniserer med en sertifikatmyndighet.

Certificate Signing Request (CSR)

Vår første oppgave er å gå gjennom en CSR-prosess. I denne prosessen, den admin kontakter sertifikatmyndigheten for å generere det offentlige, private og X.509-sertifikatet. Programmet som brukes til å gjøre er register.js

For å registrere administratoren, bruk følgende kommando.

noderollAdmin.js

All informasjon er nå lagret i lommebok katalog.

Den samme prosessen må følges hvis du vil registrere en annen bruker. La oss prøve å registrere en annen bruker – brukernytt

node reisterUser.js

Dette vil registrere den nye brukeren og lagre legitimasjonen sin i lommeboken sammen med administratoren.

Spørring av hovedbok

Siden blockchain-nettverket har en kopi av hovedboken, kan du spørre den for å finne informasjon. Ledgers er skrivebeskyttet, og det er derfor bare lesespørsmål kan utføres. La oss sjekke ut bildet nedenfor for å få en bedre forståelse.

Opplæring i Hyplerledger Fabric

Kilde: Hyperledger Fabric Docs

Verdiene på hovedboken holder seg også i sin verdensstat. Dette er nøkkelparverdien som er diskutert tidligere i opplæringen. Så et spørsmål kan avsløre data fra nøkler. Den gode nyheten er at du kan bruke databaser som CouchDB. Verdestatene kan konfigureres til å bruke relasjonsdatabaser.

For å få listen over alle biler på hovedboken, kjør følgende kommando,

node query.js

For å bedre forstå hvordan spørring fungerer, kan det være lurt å åpne opp query.js filen og gå gjennom den. La oss gå gjennom det nedenfor.

const {FileSystemWallet, Gateway} = krever (‘fabric-network’);

I linjen ovenfor opprettes en nettverkstilkobling

Deretter opprettes en gateway som applikasjonen kan koble til. Det gjøres ved hjelp av linjene nedenfor.

const gateway = ny Gateway ();

avvente gateway.connect (ccp, {wallet, identity: ‘user1’});

De ccp brukes til å identifisere brukeridentitet og relatert lommebokinformasjon.

Siden Hyperledger Fabric-nettverket kjører flere kanaler, er det viktig å koble til den bestemte kanalen for applikasjonen.

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

Forstå den smarte kontrakten

For å få en bedre forståelse av den smarte kontrakten, la oss gå gjennom den. Det vil også vise transaksjonene som er gjort gjennom det.

For å få tilgang til det, må du gå til underkatalogen chaincode / fabcar / javascript / lib. Når du er der, åpner du fabcar.js i en redaktør.

Der vil du se bruken av kontraktklasse for å definere den smarte kontrakten. Videre vil det være klare transaksjoner definert i den smarte kontrakten, inkludert queryCar, queryAllCars, initLedger, changeCarOwner og createCar.

Transaksjonene vil se ut som nedenfor:

async queryCar (ctx, carNumber) {…}

La oss se på queryCar-transaksjonen.

async queryAllCars (ctx) {

const startKey = ‘CAR0’;

const endKey = ‘CAR999’;

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

hyperledger fabric node js tutorial

Kilde: Hyperledger Fabric Docs

Oppdaterer Ledger: Kjøpe en ny bil

Det siste trinnet er å oppdatere hovedboken med ny informasjon. I dette tilfellet, la oss lage en ny bil ved hjelp av invoke.js. Du må åpne filen og legge til følgende kommando i den.

avvente kontrakt.submitTransaction (‘createCar’, ‘CAR12’, ‘CarBrand’, ‘Model’, ‘Color’, ‘Owner’);

I koden ovenfor kaller appen createCar smarte kontraktstransaksjoner. Til gjengjeld vil den lage bilen med attributtene, inkludert CarBrand, Color, Model og Owner.

Kjør nå følgende kode for å skyve den til hovedboken

node invoke.js

Dette vil føre til en reskontrooppdatering, og du vil få en vellykket produksjon.

Konklusjon

Dette fører oss til slutten av opplæringen. I opplæringen var målet vårt å bare dekke overflaten. Hvis du vil dykke dypt, kan du sjekke ut deres offisielle Hyperledger Fabric-dokumenter, som diskuterer alt i detalj.

Så, skal du bruke Hyperledger Fabric til å bygge blockchain? Kommenter nedenfor og gi oss beskjed.

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