Samouczek Hyperledger Fabric: Przewodnik wprowadzający

Witamy w Samouczek dotyczący tkaniny Hyperledger.

W tym samouczku nauczymy się, jak stworzyć swoją pierwszą aplikację Hyperledger i inne ważne rzeczy, jeśli jesteś jednym z programistów, którzy są głęboko zainwestowani w blockchain i chcą rozpocząć pracę z Hyperledger Fabric.

Każda struktura klasy korporacyjnej wymaga specjalistycznej wiedzy do działania. Jeśli jesteś nowicjuszem, będziesz miał dużo trudności z naprawieniem małych rzeczy. Dlatego ważne jest, aby zacząć wcześnie i ćwiczyć na swój własny sposób.

Ale dlaczego Tkanina Hyperledger i nie ma inne ramy łańcucha bloków dla przedsiębiorstw?

Powodem jest to, że Hyperledger Fabric to najwyższej klasy platforma blockchain dla przedsiębiorstw, która oferuje doskonałą technologię rozproszonych rejestrów (DLT). Posiada kilka wspaniałych funkcji, które sprawiają, że jest to idealny wybór dla przedsiębiorstwa.

Możesz ocenić jego popularność, sprawdzając członków, na których składają się CISCO, IBM, Intel, SAP, Accenture i inni.

Co to jest tkanina Hyperledger?

Hyperledger Fabric to framework klasy korporacyjnej typu open source. Opiera się na uprawnionej technologii rozproszonych rejestrów, aby zapewnić bardzo potrzebne aplikacje i rozwiązania. Linux Foundation pracuje nad wieloma różnymi projektami, a Hyperledger Fabric jest jednym z nich.

Ponieważ jest to oprogramowanie typu open source, każdy może dołączyć do projektu i wnieść do niego swój wkład. Obecnie 35 organizacji współpracuje, aby uczynić Hyperledger Fabric najlepszą platformą dla przedsiębiorstw.

Zasadniczo Hyperledger Fabric jest konfigurowalny i modułowy. Oznacza to, że przedsiębiorstwa mogą bezproblemowo pracować w ramach tego środowiska. Wszystkie te pożądane cechy sprawiają, że Hyperledger Fabric to doskonały wybór! W chwili pisania tego tekstu możesz wypróbować Hyperledger Fabric v1.4, który zawiera nowe funkcje i funkcjonalności.

Funkcjonalności tkaniny Hyperledger

Tkanina Hyperledger posiada pięć głównych cech. Są one następujące

  • Zarządzanie tożsamością: Zarządzanie tożsamością ma kluczowe znaczenie dla każdej sieci, na którą zezwolono. Dlatego zarządzanie tożsamością jest jedną z kluczowych funkcji w strukturze Hyperledger. Dając administratorowi ustawienie odpowiedniego zarządzania tożsamością, przedsiębiorstwa mogą upewnić się, że stosują wiele warstw uprawnień.
  • Wydajne przetwarzanie: Hyperledger Fabric jest wydajny. Dzieje się tak, ponieważ role sieciowe są przypisywane jako typ węzła. Efektywność zapewnia również umożliwienie realizacji transakcji niezależnie od zobowiązania i zlecenia.
  • Modułowa konstrukcja:Hyperledger Fabric wykorzystuje konstrukcję modułową, co oznacza, że ​​można łatwo zintegrować z nią usługi lub inne systemy. Oznacza to również, że możesz określić algorytm konsensusu, tożsamość i tak dalej.
  • Prywatność i poufność:Hyperledger Fabric zapewnia również odpowiednią poufność i prywatność, co jest bardzo ważne dla przedsiębiorstw. Oferują odpowiednie kanały danych, dzięki czemu informacje nie wyciekają, a poufność można zachować za wszelką cenę.
  • Funkcjonalność łańcucha:Hyperledger Fabric oferuje funkcjonalność kodu łańcucha, która umożliwia wywołanie logiki tylko w przypadku wywołania określonego typu transakcji.

Inne kluczowe cechy struktury Hyperledger obejmują wysokiej jakości kod, oprogramowanie typu open source, doskonałą skalowalność i wydajność oraz zastosowanie w całej branży.


Samouczek dotyczący tkaniny Hyperledger

Przed przystąpieniem do tworzenia aplikacji lepiej poznać architekturę systemu Hyperledger Fabric. W ten sposób możemy zrozumieć, jak to działa wewnętrznie. Wiedzę tę można następnie wykorzystać do stworzenia pierwszej aplikacji Hyperledger Fabric.

architektura systemu

W istocie mamy węzły. Węzły komunikują się ze sobą i tworzą sieć. Istnieją jednak programy, które są uruchamiane przez sam łańcuch bloków. Są kodem łańcucha. Kod łańcucha jest odpowiedzialny za przechowywanie danych księgi i stanu, a także dba o wykonanie transakcji.

W Hyperledger Fabric największy nacisk kładzie się na kod łańcucha, ponieważ transakcje są przeprowadzane na nim jako operacje. Z drugiej strony transakcje muszą zostać zatwierdzone przez indos. Zatwierdzać można tylko transakcje zatwierdzone.

Transakcje

Transakcje w Hyperledger Fabric mogą być dwojakiego rodzaju:

  • Wdrażaj transakcje: Tego typu transakcje są odpowiedzialne za tworzenie nowego kodu łańcucha z parametrem jako programem. Po wykonaniu tej czynności mówi się, że kod łańcucha został „zainstalowany” w łańcuchu bloków.
  • Wywołaj transakcje: transakcje wywołania to transakcje wykonywane w kontekście poprzednich wdrożeń z kodem łańcucha.

Struktury danych Blockchain

Podstawową strukturą danych używaną w łańcuchu bloków jest magazyn klucz-wartość (KVS). Klucze to głównie nazwy, a wartość to bloby. Kody łańcuchowe mogą manipulować strukturą danych za pomocą dwóch następujących operacji KVS.

  • położyć
  • otrzymać

Cała struktura danych jest postrzegana jako stan.

Księga główna

Księga to sekwencja udanych zmian stanu, a także nieudanych prób. Są one uporządkowane tak, aby można było do nich później odwołać się. Są również uporządkowane blokami transakcji z hashchainem. Księga zawiera uporządkowane bloki, które w zamian zawierają uporządkowaną tablicę transakcji.

Węzły

Węzły mogą być dowolnymi jednostkami komunikacyjnymi w sieci.

Klient

Klient to osoba, która może działać w imieniu użytkowników końcowych.

Par

Peer obsługuje stan księgi i zapewnia optymalne działanie sieci. Partnerzy mogą popierać partnerów, co pomaga zatwierdzić transakcję.

Pisanie pierwszej aplikacji Hyperledger Fabric

Teraz, gdy zrozumieliśmy strukturę architektoniczną Hyperledger Fabric, nadszedł czas na stworzenie pierwszej aplikacji. Przeglądając aplikację, będziesz w stanie zrozumieć, jak działają aplikacje Fabric. W tym samouczku dowiesz się, jak korzystać z prostych, inteligentnych kontraktów i innych aplikacji w ramach.

Aby ułatwić nasz rozwój, będziemy używać zestawu SDK aplikacji do łatwego odniesienia do klucza

funkcje, w tym wywoływanie inteligentnych kontraktów i inne zapytania.

Trzy główne kroki, które należy wykonać podczas tworzenia aplikacji tkaniny Hyperledger, obejmują:

  1. Skonfiguruj środowisko programistyczne. Środowisko programistyczne zapewnia aplikacji niezbędną sieć do pracy. Daje Ci możliwość, aby Twoja inteligentna umowa również działała.
  2. Poznanie przykładowych inteligentnych kontraktów. Tutaj musisz przejść przez inteligentny kontrakt i zrozumieć jego transakcje. Będziemy uruchamiać zapytania zgodnie z symulacją aplikacji, a także aktualizować księgę za jej pomocą.
  3. Tworzenie przykładowej aplikacji: w ostatnim kroku utworzysz przykładową aplikację przy użyciu inteligentnego kontraktu.

Budowanie pierwszej sieci

Zanim zaczniemy z aplikacją, zbudujmy naszą pierwszą sieć. Aby rozpocząć, musimy zainstalować pewne wymagania wstępne. Te warunki wstępne zapewnią, że wszystko będzie działać zgodnie z przeznaczeniem.

Zapoznaj się z przewodnikiem instalacji wstępnych tutaj.

Zobacz także Hyperledger Composer: Build Your Enterprise Blockchain

Możesz chcieć zainstalować pliki binarne, próbki i obrazy Dockera. Zapoznaj się z instrukcją instalacji tutaj.

Po zainstalowaniu próbek znajdziesz zawarte w nich próbki tkanin. Powinien znajdować się w repozytorium „fabric-samples”. W repozytorium znajduje się pierwsza próbka sieciowa.

Aby przejść do tego katalogu, przejdź do folderu za pomocą polecenia cd, jak poniżej.

cd fabric-samples / first-network

Aby uruchomić pierwszą próbkę sieciową, musisz skorzystać ze skryptu byfn.sh. Skrypt ma na celu szybkie rozpoczęcie projektu z czterema rówieśnikami. Czterej rówieśnicy reprezentują dwie różne organizacje. Uruchomi również kontener, kod łańcucha i transakcje. Kontener umożliwi przyłączenie większej liczby peerów do sieci.

Generowanie artefaktów sieciowych

Możesz teraz generować certyfikaty i klucze dla jednostek sieciowych. Aby to zrobić, musisz uruchomić następujące polecenie.

.byfn.sh generować

Przed rozpoczęciem procesu zostaniesz poproszony o potwierdzenie. Naciśnij klawisz Y, aby rozpocząć wypełnianie sieci niezbędnymi informacjami, w tym zasilaniem usług zamawiania, konfiguracją i tak dalej.

Zasilanie sieci

Następnie musimy zasilić sieć. Zasilanie sieci można wykonać za pomocą prostego polecenia poniżej.

./byfn.sh up

Po uruchomieniu polecenia platforma skompiluje obrazy z kodem łańcucha Golang. Ponadto skojarzone kontenery również zostaną uruchomione, aby zapewnić nowym użytkownikom możliwość przyłączenia się do sieci.

Domyślnie zobaczysz Go w akcji. Dzieje się tak, ponieważ Go jest domyślnym językiem kodu łańcucha. Ale to nie znaczy, że nie możesz używać innych języków programowania. Chaincode obsługuje również Node.js i Javę. Aby przejść do węzła, możesz użyć następującego polecenia.

.byfn.sh up -l węzeł

Podobnie możesz zmień na Javę Jeśli potrzebujesz.

.byfn.sh up -l java

Jeśli chcesz używać wielu języków z kodami łańcuchowymi, musisz skorzystać z usługi zamawiania, w tym Raft lub Kafka.

./byfn.sh up -o etcdraft

./byfn.sh up -o kafka

Za każdym razem, gdy użyjesz polecenia, poprosisz o ponowne potwierdzenie przed wykonaniem polecenia.

Aby lepiej zrozumieć, jak zbudować i utrzymywać swoją pierwszą sieć, zapoznaj się z samouczkiem budowania sieci tutaj.

Uruchomienie sieci

Po zainstalowaniu próbek i przejrzeniu strony wymagań wstępnych nadszedł czas, abyśmy uruchomili sieć.

Ze względu na prostotę nie będziemy używać JavaScript. Potrzebujesz również podkatalogu fabcar. Utwórz również lokalny klon repozytorium próbki tkaniny.

Aby uruchomić sieć, musisz użyć skryptu powłoki startFabric.sh. Po uruchomieniu otrzymasz sieć blockchain, która ma urzędy certyfikacji, zamawiających, rówieśników i tak dalej. Ponieważ używany jest podkatalog fabcar, inteligentny kontrakt FabCar zostanie automatycznie zainstalowany i zainicjowany.

Polecenie uruchomienia sieci jest następujące:

./startFabric.sh javascript

Instalowanie aplikacji

Teraz czas na zainstalowanie aplikacji. Ale zanim to zrobimy, musimy zainstalować zależności.

npm install

Powyższe polecenie rozpocznie instalowanie ważnych zależności, które są zdefiniowane w package.json

W pakiecie ważne zajęcia, które zostaną zainicjowane, obejmują

  • klasa sieci fabric → umożliwia transakcje, tożsamości, portfele
  • fabric-ca-client → zarejestruj użytkowników w odpowiednich urzędach certyfikacji

Po zakończeniu przejdziemy do katalogu fabcar / javascript. Spójrzmy na poniższe pliki katalogów:

  • encrollAdmin.js
  • node_modules
  • package.json
  • registerUser.js
  • invoke.js
  • pakiet-lock.json
  • query.js
  • portfel

Komunikowanie się z ośrodkiem certyfikacji

Teraz, gdy mamy działającą sieć, nauczmy się, jak komunikować się z urzędem certyfikacji.

Żądanie podpisania certyfikatu (CSR)

Naszym pierwszym zadaniem jest przejście przez proces CSR. W tym procesie Administrator kontaktuje się z urzędem certyfikacji w celu wygenerowania certyfikatu publicznego, prywatnego i X.509. Użyty do tego program to enroll.js

Aby zarejestrować administratora, użyj następującego polecenia.

węzeł enrollAdmin.js

Wszystkie informacje są teraz przechowywane w pliku portfel informator.

Ten sam proces należy wykonać, jeśli chcesz zarejestrować innego użytkownika. Spróbujmy zarejestrować innego użytkownika – usernew

węzeł reisterUser.js

Spowoduje to zarejestrowanie nowego użytkownika i przechowywanie jego danych uwierzytelniających w portfelu wraz z administratorem.

Querying Ledger

Ponieważ sieć blockchain ma kopię księgi, możesz zapytać ją, aby znaleźć informacje. Księgi są tylko do odczytu i dlatego mogą być wykonywane tylko zapytania do odczytu. Aby lepiej zrozumieć, spójrzmy na poniższy obrazek.

Samouczek dotyczący tkanin Hyplerledger

Źródło: Hyperledger Fabric Docs

Wartości w księdze również pozostają w niej stan świata. To jest wartość pary kluczy, która została omówiona wcześniej w samouczku. Zatem zapytanie może ujawnić dane z kluczy. Dobra wiadomość jest taka, że ​​możesz korzystać z baz danych, takich jak CouchDB. Stany świata można skonfigurować tak, aby korzystały z relacyjnych baz danych.

Aby uzyskać listę wszystkich samochodów w księdze, uruchom następujące polecenie,

node query.js

Aby lepiej zrozumieć, jak działa zapytania, możesz otworzyć query.js plik i przejdź przez to. Przejdźmy przez to poniżej.

const {FileSystemWallet, Gateway} = require („fabric-network”);

W powyższej linii nawiązywane jest połączenie sieciowe

Następnie tworzona jest brama, aby aplikacja mogła się połączyć. Odbywa się to za pomocą poniższych linii.

const gateway = new Gateway ();

await gateway.connect (ccp, {wallet, identity: „użytkownik1”});

Plik ccp służy do identyfikacji tożsamości użytkownika i powiązanych informacji o portfelu.

Ponieważ sieć Hyperledger Fabric obsługuje wiele kanałów, ważne jest, aby połączyć się z określonym kanałem aplikacji.

const contract = network.getContract („fabcar”);

Zrozumienie Smart Contract

Aby lepiej zrozumieć inteligentną umowę, przejdźmy przez nią. Będzie również prezentować transakcje dokonane za jego pośrednictwem.

Aby uzyskać do niego dostęp, musisz przejść do podkatalogu kod łańcucha / fabcar / javascript / lib. Tam otwórz fabcar.js w edytorze.

Tam zobaczysz użycie klasy Contract do zdefiniowania inteligentnego kontraktu. Ponadto w inteligentnym kontrakcie byłyby zdefiniowane jasne transakcje, w tym queryCar, queryAllCars, initLedger, changeCarOwner i createCar.

Transakcje wyglądałyby jak poniżej:

async queryCar (ctx, carNumber) {…}

Przyjrzyjmy się transakcji queryCar.

async queryAllCars (ctx) {

const startKey = „CAR0”;

const endKey = „CAR999”;

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

Samouczek js dla węzła Hyperledger Fabric

Źródło: Hyperledger Fabric Docs

Aktualizacja księgi: Zakup nowego samochodu

Ostatnim krokiem jest aktualizacja księgi o nowe informacje. W takim przypadku utwórzmy nowy samochód przy użyciu pliku invoke.js. Musisz otworzyć plik i dodać do niego następujące polecenie.

await contract.submitTransaction („createCar”, „CAR12”, „CarBrand”, „Model”, „Color”, „Owner”);

W powyższym kodzie aplikacja wywołuje transakcje smart contract createCar. W zamian utworzy samochód z jego atrybutami, takimi jak marka CarBrand, kolor, model i właściciel.

Teraz uruchom następujący kod, aby wypchnąć go do księgi

węzeł invoke.js

Spowoduje to aktualizację księgi i uzyskasz pomyślne wyniki.

Wniosek

To prowadzi nas do końca naszego samouczka. W samouczku naszym celem było omówienie tylko powierzchni. Jeśli chcesz zanurkować głęboko, możesz zapoznać się z ich oficjalną dokumentacją Hyperledger Fabric, która szczegółowo omawia wszystko.

Czy zamierzasz używać Hyperledger Fabric do budowania łańcucha bloków dla przedsiębiorstw? Skomentuj poniżej i daj nam znać.

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