Handledning för Hyperledger Fabric: Komma igång

Välkommen till Hyperledger Fabric Tutorial. 

I den här handledningen lär vi oss hur du skapar din första Hyperledger-applikation och andra viktiga saker om du är en av utvecklarna som är djupt investerade i blockchain och vill komma igång med Hyperledger Fabric.

Alla ramar av företagsklass kräver expertis för att fungera. Om du är nybörjare kommer du att kämpa mycket för att fixa små saker. Det är därför det är viktigt att börja tidigt och träna på ditt eget sätt.

Men varför Hyperledger tyg och inte någon andra företag blockchain-ramverk?

Anledningen är att Hyperledger Fabric är ett förstklassigt blockchain-ramverk för företag som erbjuder stor tillståndsdistribuerad teknik (DLT). Det har några fantastiska funktioner som gör det till ett perfekt val för ett företag. 

Du kan mäta dess popularitet genom att kontrollera dess medlemmar, som består av CISCO, IBM, Intel, SAP, Accenture och andra.

Vad är Hyperledger Fabric?

Hyperledger Fabric är ett ramverk för öppen källkod för företag. Det är beroende av tillåten distribuerad ledgerteknik för att tillhandahålla mycket nödvändiga applikationer och lösningar. Linux Foundation arbetar med ett varierat antal projekt och Hyperledger Fabric är ett av dem.

Eftersom det är öppen källkod kan alla gå med i projektet och bidra till det. Just nu arbetar 35 organisationer tillsammans för att göra Hyperledger Fabric till det bästa företagsramverket där ute.

Kärnan är Hyperledger Fabric konfigurerbar och modulär. Detta innebär att företag kan arbeta sömlöst med hjälp av ramverket. Alla dessa önskvärda funktioner gör Hyperledger Fabric till ett utmärkt val! I skrivande stund kan du testa Hyperledger Fabric v1.4, som kommer med nya funktioner och funktioner.

Hyperledger tygfunktioner

Hyperledger Fabric har fem huvudfunktioner. De är som följer

  • Identitetshantering: Identitetshantering är avgörande för alla behöriga nätverk. Därför är identitetshantering en av de viktigaste funktionerna i Hyperledger-tyget. Genom att ge administratören att ställa in korrekt identitetshantering kan företag se till att de använder flera lager av tillstånd.
  • Effektiv bearbetning: Hyperledger Fabric är effektiv. Detta beror på att nätverksroller tilldelas som nodtyp. Effektiviteten tillhandahålls också genom att låta transaktionen utföras separat från åtagande och beställning.
  • Modulär design: Hyperledger Fabric använder modulär design, vilket innebär att det är enkelt att integrera tjänster eller andra system i den. Detta innebär också att du kan ange konsensusalgoritmen, identiteten och så vidare. 
  • Sekretess och sekretess: Hyperledger Fabric erbjuder också rätt sekretess och integritet, vilket är mycket viktigt för företag. De erbjuder korrekta datakanaler så att information inte läcker och konfidentialitet kan upprätthållas till varje pris.
  • Kedjekodsfunktionalitet: Hyperledger Fabric erbjuder kedjekodsfunktionalitet, vilket gör att logik endast kan åberopas när en specifik typ av transaktion anropas. 

Andra viktiga funktioner i Hyperledger-tyg inkluderar kvalitetskod, öppen källkod, stor skalbarhet och effektivitet och branschomfattande användning. 

Hyperledger Fabric Tutorial

Innan du börjar utveckla en applikation är det bättre att förstå systemarkitekturen för Hyperledger Fabric. Genom att göra det kan vi förstå hur det fungerar internt. Denna kunskap kan sedan användas för att utveckla din första Hyperledger Fabric-applikation. 

system arkitektur

Kärnan har vi noder. Noderna kommunicerar med varandra och skapar ett nätverk. Det finns dock program som drivs av blockchain själv. De är kedjekod. Kedjekoden är ansvarig för att hålla bokförings- och tillståndsdata och tar också hand om transaktionskörning. 

I Hyperledger Fabric lägger kedjekoden mest tyngd eftersom transaktioner utförs på det som operationer. Transaktioner, å andra sidan, måste valideras genom godkännande. Endast godkända transaktioner kan göras.

Transaktioner

Transaktionerna på Hyperledger Fabric kan vara av två typer:

  • Distribuera transaktioner: Denna typ av transaktioner är ansvariga för att skapa ny kedjekod med parameter som ett program. När det är gjort sägs kedjekoden vara “installerad” på blockchain.
  • Påkalla transaktioner: Påkalla transaktioner är transaktioner som utförs med bakgrunden till tidigare kedjedistributioner.

Blockchain-datastrukturer

Den grundläggande datastrukturen som används i blockchain är nyckel-värdebutiken (KVS). Nycklarna är mestadels namn och värdet är blobs. Kedjekoder kan manipulera datastrukturen med hjälp av två följande KVS-operationer.

  • sätta
  • skaffa sig

Hela datastrukturen ses som ett tillstånd.

Huvudbok

Ledger är också sekvensen av framgångsrika tillståndsförändringar och misslyckade försök. De beställs så att de kan refereras senare. De beställs också hashchain-block med transaktioner. Huvudboken innehåller block i ordning, som i gengäld innehåller beställt transaktionsarray.

Knutpunkter

Noder kan vara vilken kommunikationsenhet som helst inom nätverket.

Klient

En klient är någon som kan agera för slutanvändarnas räkning.

Jämlikar

Peer hanterar huvudbokens tillstånd och ser till att nätverket fungerar optimalt. Kollegorna kan stödja kamrater, vilket hjälper till att godkänna en transaktion.

Skriva din första Hyperledger Fabric-app 

Nu när vi har förstått den arkitektoniska strukturen för Hyperledger Fabric är det nu dags att skapa din första applikation. Genom att gå igenom applikationen kommer du att kunna förstå hur Fabric-applikationer fungerar. I den här handledningen lär du dig att använda enkla, smarta kontrakt och andra applikationer inom ramen. 

För att göra vår utveckling enklare kommer vi att använda applikationens SDK för enkel referens till nyckeln 

funktioner, inklusive åberopande av smarta kontrakt och andra frågor.

De tre huvudstegen du måste följa när du utvecklar din Hyperledger-tygapp inkluderar följande:

  1. Ställ in utvecklingsmiljön. Utvecklingsmiljön ger din applikation det nödvändiga nätverket att arbeta med. Det ger dig möjligheten att få ditt smarta kontrakt att fungera också.
  2. Lär dig om exempel på smarta kontrakt. Här måste du gå igenom det smarta kontraktet och förstå dess transaktioner. Vi kommer att köra frågor som simuleras av applikationer och också uppdatera huvudboken med den.
  3. Utveckla en provapplikation: I det sista steget skapar du en provapplikation med det smarta kontraktet.

Bygga första nätverket

Innan vi börjar med applikationen, låt oss bygga vårt första nätverk. För att komma igång måste vi installera några förutsättningar. Dessa förutsättningar säkerställer att allt fungerar som avsett.

Kolla in deras förutsättningar för installationsguide här.

Kolla också in Hyperledger Composer: Build Your Enterprise Blockchain

Du kanske vill installera binära filer, prover och dockerbilder. Kolla in installationsguiden här.

När du har installerat proverna hittar du de tygprover som ingår i den. Det bör ingå i förvaret ”tygprover”. I förvaret finns det första nätverksexemplet.

För att flytta till den katalogen, flytta till mappen med kommandot cd enligt nedan.

cd-tygprover / första nätverk

För att köra det första nätverksexemplet måste du använda skriptet byfn.sh. Manuset är utformat för att snabbt starta projektet med fyra kamrater. De fyra kamraterna representerar två olika organisationer. Det kommer också att starta container, en kedjekod och transaktioner. Containern gör det möjligt för fler kamrater att gå med i nätverket.

Skapa nätverksartefakter

Du kan nu skapa certifikat och nycklar för nätverksenheterna. För att göra det måste du köra följande kommando.

.byfn.sh generera

Du kommer att bli ombedd att bekräfta innan processen startar. Tryck på Y för att starta fylla nätverket med nödvändig information, inklusive strömförsörjning av beställningstjänster, konfiguration och så vidare.

Strömförsörjning av nätverket

Därefter måste vi driva nätverket. Att driva nätverket kan göras med det enkla kommandot nedan.

./byfn.sh upp

När du väl har kört kommandot kommer ramverket att sammanställa Golang-kedjekodsbilderna. Dessutom kommer de associerade behållarna att aktiveras för att ge nya kamrater ett sätt att gå med i nätverket. 

Som standard ser du Gå i aktion. Det beror på att Go är källkodens standardspråk. Men det betyder inte att du inte kan använda andra programmeringsspråk. Chaincode stöder också Node.js och Java. För att byta till en nod kan du använda följande kommando. 

.byfn.sh upp -l-nod

På samma sätt kan du ändra till Java om du behöver.

.byfn.sh upp -l java

Om du vill använda flera kedjekodsspråk måste du använda beställningstjänsten inklusive Raft eller Kafka.

./byfn.sh upp -o etcdraft

./byfn.sh upp -o kafka

Varje gång du använder kommandot kommer du att be om att bekräfta igen innan kommandot körs.

För att ytterligare förstå hur du bygger och underhåller ditt första nätverk, kolla in nätverksbyggnadshandledningen här.

Startar nätverket

Nu när du har installerat prover och har gått igenom förutsättningssidan är det nu dags för oss att starta nätverket.

För enkelhets skull kommer vi inte att använda JavaScript. Du behöver också underkatalogen fabcar. Gör också en lokal klon med tygprov.

För att starta nätverket måste du använda skalskriptet startFabric.sh. När du väl har startat får du ett blockchain-nätverk som har certifikatmyndigheter, beställare, kamrater och så vidare. Eftersom underkatalogen för fabcar används kommer FabCars smarta kontrakt automatiskt att installeras och initieras. 

Kommandot för att starta nätverket är som nedan:

./startFabric.sh javascript

Installerar programmet

Nu är det dags att installera applikationen. Men innan vi gör det måste vi installera beroenden. 

npm installera

Ovanstående kommando börjar installera de viktiga beroenden som definieras i package.json

I paketet ingår de viktiga klasserna som kommer att initieras

  • fabric-network class → möjliggör transaktioner, identiteter, plånböcker
  • fabric-ca-client → registrera användare till sina respektive certifikatmyndigheter

När du är klar kommer vi att flytta till katalogen fabcar / javascript. Låt oss titta på katalogfilerna nedan:

  • encrollAdmin.js
  • nodmoduler
  • package.json
  • registerUser.js
  • invoke.js
  • package-lock.json
  • query.js
  • plånbok

Kommunicerar med certifikatutfärdaren

Nu, när vi har ett nätverk som körs, kan vi lära oss hur vi kommunicerar med en certifikatutfärdare. 

Certificate Signing Request (CSR)

Vår första uppgift är att gå igenom en CSR-process. I denna process är administration kontaktar certifikatutfärdaren för att generera det offentliga, privata och X.509-certifikatet. Programmet som används för att göra är registrering.js

För att registrera admin, använd följande kommando.

node enrollAdmin.js

All information lagras nu i plånbok katalog.

Samma process måste följas om du vill registrera en annan användare. Låt oss försöka registrera en annan användare – nytt nytt

nod reisterUser.js 

Detta registrerar den nya användaren och lagrar sina referenser i plånboken tillsammans med administratören.

Fråga Ledger

Eftersom blockchain-nätverket har en kopia av huvudboken kan du fråga den för att hitta information. Ledgers är skrivskyddade och det är därför bara läsfrågor kan köras. För att få en bättre förståelse, låt oss kolla in bilden nedan.

Källa: Hyperledger Fabric Docs

Värdena på redovisningen förblir också i sin världsstat. Detta är nyckelparvärdet som diskuterades tidigare i handledningen. Så en fråga kan avslöja data från nycklar. Den goda nyheten är att du kan använda databaser som CouchDB. Världsstaterna kan konfigureras för att använda relationsdatabaser.

För att få en lista över alla bilar på storboken, kör följande kommando,

node query.js

För att bättre förstå hur frågor fungerar kan du öppna query.js fil och gå igenom den. Låt oss gå igenom det nedan.

const {FileSystemWallet, Gateway} = kräver (‘fabric-network’);

I ovanstående rad upprättas en nätverksanslutning

Sedan skapas en gateway för applikationen att ansluta. Det görs med hjälp av raderna nedan.

const gateway = ny Gateway ();

vänta på gateway.connect (ccp, {wallet, identity: ‘user1’});

De ccp används för att identifiera användaridentitet och relaterad plånbokinformation. 

Eftersom Hyperledger Fabric-nätverket kör flera kanaler är det viktigt att ansluta till den specifika kanalen för applikationen.

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

Förstå det smarta kontraktet

För att få en bättre förståelse för det smarta kontraktet, låt oss gå igenom det. Det kommer också att visa upp transaktionerna som görs genom det.

För att komma åt den måste du gå till underkatalogen kedjekod / fabcar / javascript / lib. En gång där öppnar du fabcar.js i en redaktör.

Där ser du användningen av kontraktsklassen för att definiera det smarta kontraktet. Dessutom skulle det finnas tydliga transaktioner definierade inom det smarta kontraktet, inklusive queryCar, queryAllCars, initLedger, changeCarOwner och createCar.

Transaktionerna ser ut som nedan:

async queryCar (ctx, carNumber) {…}

Låt oss titta på queryCar-transaktion.

async queryAllCars (ctx) {

  const startKey = ‘CAR0’;

  const endKey = ‘CAR999’;

  const iterator = vänta på ctx.stub.getStateByRange (startKey, endKey);

Källa: Hyperledger Fabric Docs

Uppdaterar Ledger: Att köpa en ny bil

Det sista steget är att uppdatera huvudboken med ny information. I det här fallet ska vi skapa en ny bil med hjälp av invoke.js. Du måste öppna filen och lägga till följande kommando i den.

väntar på contract.submitTransaction (‘createCar’, ‘CAR12’, ‘CarBrand’, ‘Model’, ‘Color’, ‘Owner’);

I ovanstående kod ringer appen createCar smarta kontraktstransaktioner. Den kommer i gengäld att skapa bilen med dess attribut, inklusive CarBrand, Color, Model och Owner.

Kör nu följande kod för att skjuta den till storboken

nod invoke.js

Detta kommer att resultera i en storbokuppdatering och du får en framgångsrik effekt.

Slutsats

Detta leder oss till slutet av vår handledning. I handledningen var vårt mål att bara täcka ytan. Om du vill dyka djupt kan du kolla in deras officiella Hyperledger Fabric-dokument, som diskuterar allt i detalj. 

Så kommer du att använda Hyperledger Fabric för att bygga företagets blockchain? Kommentera nedan och låt oss veta.

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