Kako da napravite decentralizovanu aplikaciju koristeći Hyperledger Fabric Network?

Nakon uputstva za instaliranje Hyperledger Fabrica i Composera, prelazimo na sledeći korak — kreiranje decentralizovane aplikacije.

Postoji više načina kako napraviti decentralizovanu aplikaciju koristeći Hyperledger Fabric blockchain mrežu: ili koristeći izvorni Golang chaincode ili koristeći visoko preporučljiv Hyperledger Composer framework.

Pre nego što nastavite, pogledajte kako da instalirate Fabric i Composer kako biste pripremili svoje okruženje.

Hyperledger Composer značajno ubrzava razvoj aplikacije izlaganjem RESTful API-a koji komunicira sa Fabric blockchainom, ali apstrahuje skoro sve zanimljive stvari koje su ključne za Fabric blockchain tehnologiju, na primer, instalaciju i instanciranje (eng. instantiation) kanala i povezivanje peerova sa kanalima, razvoj i izvršavanje chaincode-a i način na koji aplikacija komunicira sa mrežom, originalno preko upita i ažuriranja deljenog ledgera.

Ovaj post koristi Hyperledger Composer framework kako bi se ubrzao razvoj TNN (Trusted News Network) demo aplikacije. Ona predstavlja mrežu korisnika (Participants) koji ili prave ili gledaju video klipove (Assets). Nagrade i reputacioni poeni se dodeljuju između producenata i gledalaca objavljenih klipova.

  • Producenti zarađuju poene/nagrade svaki put kada se klipovi koje oni objave na mreži gledaju (nastaje Transaction).
  • Korisnici dobijaju poene svaki put kada odgledaju objavljen klip.

Sada, hajde da započnemo korake za stvaranje TNN decentralizovane aplikacije. Uzorak izvornog koda je obezbeđen u resource sekciji (klonirajte ga ili forkujte). Ja sam koristio developer tutorijal za kreiranje Hyperledger Composer rešenja.

  • Klonirajte sample projekat. Ovaj projekat je uzorak poslovne mreže i sadrži model podataka i poslovnu logiku. Otvorite terminal i ubacite sledeću komandu:

~$ git clone https://github.com/ejiro/news-composer-network.git

  • Otvorite projekat preko VSCode editora. Struktura projekta sa folderima i fajlovima bi trebalo da izgleda ovako:

  • Otvorite package.json fajl iz IDE-a. Primetite ime, broj verzije i opis projekta. Takođe, prepravite prepublish skriptu tako što ćete promeniti arhivu biznis mreže u news-mrežu.

  • Otvorite sledeći fajl — models/sample.cto. Ovde je opisana shema koja definiše učesnike, resurse i transakcije u mreži. Fajl je napisan u Composer modeling jeziku koji definiše veze među resursima i korisnicima, kao i mehanizam transakcija preko kog korisnici komuniciraju sa resursima.

  • Otvorite i pregledajte sadržaj fajla, lib/sample.js, koji predstavlja poslovnu logiku i napisan je izvornim javascriptom i primarno koristi Hyperledger Composer API za komunikaciju između klijentske aplikacije i blockchain mreže. Definisana funkcija transakcijskog procesora, watchVideoClip, služi kao interfejs za slanje transakcija koje mogu ažurirati ledger u blockchainu.

  • Otvorite access control fajl, permissions.acl. U njemu se nalazi lista raznih dozvola između korisnika i resursa. Ovde su definisana prava i privatnost.

To je sve što se tiče baznog koda. Mada se možete odlučiti da u ovom momentu testirate aplikaciju, to je izvan obima ovog teksta.

  • Napravite i izvršite Business Network Archive (BNA) fajl. Ovakav fajl se može pokretati i razvijati unutar Composer runtime-a. Ako niste upoznati sa VSCode IDE, on ima ugrađen terminal koji možete da koristite za izdavanje komandi, što olakšava navigaciju kroz terminalne prozore.

# Generisanje news-network.bna fajla unutar /dist direktorijuma

~$ npm install

# ili

~$ mkdir dist

~$ composer archive create –sourceType dir –sourceName . -a ./dist/news-network.bna

# Prenošenje BNA fajla u pokrenutu Fabric blockchain mrežu.

~$ composer network deploy -a dist/news-network.bna -p hlfv1 -i PeerAdmin -s randomString

# Pokrenite komandu za verifikovanje putem uspešnog odziva

~$ composer network ping -n news-network -p hlfv1 -i admin -s adminpw

  • Generisanje RESTful API-a

# Ako ste već u root-u projekta, pokrenite sledeću komandu

~$ composer-rest-server

Pratite uputstva na ekranu. Ovako je izgledao kod mene nakon unošenja svih potrebnih informacija. Po pravilu, naziv profila konekcije je hlfv1, identifikator mreže je news-network, korisničko ime i šifra za Fabric su admin i adminpw.

Ako sve prođe kako treba, trebalo bi da vidite Web Server URL i REST API. API koritsi LoopBack API pretraživač.

Web server “sluša” na: http://localhost:3000

Pronažite svoj REST API preko: http://localhost:3000/explorer

Istražujte REST API. Od početka bi trebalo da primetite ražličite krajnje tačke, a posebno onu od NewsClipa i Usera. Možete testirati prost upit u pretraživaču.

  • Napravite web aplikaciju koristeći generisani REST API. Sada je na vama kako će aplikacija izgledati (mobilna ili web). Odlučio sam se za  prostu node.js aplikaciju koja je potpuno odvojena od Composer rešenja. Možete klonirati prostu newsclip node aplikaciju, i pokrenuti je sledećim komandama.

# klonirajte aplikaciju

~$ git clone https://github.com/ejiro/newsclips-node-app.git

# pokrenite aplikaciju

~$ cd newsclips-node-app

~$ npm install~$ node ./bin/www

# Pretražite i istražujte aplikaciju na: http://localhost:8080/

Čestitamo! Pogledajte sekciju sa resursima za dodatne informacije kako biste započeli sopstvenu aplikaciju.

Resursi:


Tekst prenosimo sa sajta Go Vertical Blockchain Ideation Workshop, a original možete pogledati na sledećem linku.

Predstavljamo poslodavca
SAP-157x157-1.png

SAP

SAP je globalni lider koji se bavi razvojem cloud rešenja za prodajne i marketing timove, kao i cloud rešenja za on-line učenje.

SAP se bavi razvojem cloud rešenja za prodajne i marketing timove, kao i cloud rešenja za on-line učenje. Preko 4.800 organizacija u svim industrijama oslanjaju se na SAP rešenja u optimizaciji lead to money procesa, kako bi sklopili više dogovora za više novca, u rekordnom roku.

prenosimo

  • Šta ti je na umu?
    Dodaj komentar · Pravila diskusije

  • Unesite termine za pretragu