초심자를 위한 Hyperledger Fabric 튜토리얼: 종합 가이드

게시 됨: 2021-02-24

수많은 Hyperledger 프레임워크와 도구를 사용할 수 있습니다 . 가장 성공적인 것 중 하나는 Hyperledger Fabric입니다. 2016년에 출시된 이후 Hyperledger Fabric은 엔터프라이즈 애플리케이션 개발을 위한 인기 있는 프레임워크가 되었습니다. 초보자를 위한 Hyperledger Fabric 튜토리얼 에서는 그것이 무엇인지, 구조가 무엇인지, 첫 번째 애플리케이션을 실행하는 방법부터 알아야 할 모든 것을 안내합니다. 더 이상 지체하지 않고 Hyperledger Fabric 튜토리얼부터 시작하겠습니다 .

목차

하이퍼레저 패브릭이란?

Hyperledger Fabric은 엔터프라이즈급 블록체인 기반 프레임워크입니다. 애플리케이션 및 비즈니스 솔루션 개발을 위한 권한 DLT(Distributed Ledger Technology)를 제공하는 오픈 소스 프레임워크입니다. Hyperledger Fabric 의 핵심 기능 중 일부는 다음과 같습니다.

  • 고도로 모듈화된 아키텍처
  • 플러그 앤 플레이 합의
  • Solidity 및 EVM 지원
  • JSON 쿼리, 키 기반 쿼리 및 기타 쿼리 가능한 데이터 지원
  • 다국어 스마트 계약 지원

Hyperledger Fabric과 그 핵심 기능에 대한 기본 지식을 가지고 초보자를 위한 Hyperledger Fabric 튜토리얼 의 다음 부분으로 넘어가 보겠습니다 .

세계 최고의 대학에서 온라인으로 소프트웨어 과정을 배우십시오. 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 획득하여 경력을 빠르게 추적하십시오.

Hyperledger Fabric 시스템 아키텍처란 무엇입니까?

핵심 Hyperledger Fabric 튜토리얼 을 시작하기 전에 기본 아키텍처에 대해 배우는 것이 필수적입니다. 구조에 대한 확실한 지식이 있으면 프레임워크가 어떻게 작동하는지 이해하는 데 도움이 됩니다.

  • 트랜잭션 : 배포 및 호출의 두 가지 유형의 트랜잭션이 있습니다. 배포 트랜잭션은 블록체인에서 실행되는 프로그램인 체인코드를 생성하는 데 사용됩니다. 반면에 호출 트랜잭션은 이전에 배포된 체인코드와 컨텍스트에서 트랜잭션을 실행하는 데 사용됩니다.
  • 데이터 구조 : 모든 블록체인 프레임워크와 마찬가지로 Hyperledger Fabric에서 사용되는 데이터 구조는 키-값 쌍입니다. 체인 코드는 put 및 get 작업으로 데이터를 조작합니다.
  • 원장 : 체인에 대한 모든 성공 및 실패 변경의 시퀀스입니다.
  • 노드 : 통신 에이전트 또는 네트워크의 엔터티입니다.
  • 클라이언트 : 최종 사용자 또는 그들을 대신하는 사람.
  • Peer : 그들은 체인의 상태를 처리하고 모든 것이 원활하게 실행되도록 합니다.

초보자를 위한 Hyperledger Fabric 튜토리얼 첫 번째 앱 개발

이제 기본 아키텍처를 알았으므로 첫 번째 Hyperledger Fabric 앱을 개발할 차례입니다.

첫 번째 네트워크 구축 및 시작

이 단계는 앱 개발을 시작하기 위한 전제 조건 및 샘플 구성 요소 설치로 구성됩니다.

네트워크 구축

가장 먼저 해야 할 일은 네트워크를 구축하고 시작하는 것입니다. 실행 중인 네트워크가 없으면 앱은 아무 소용이 없습니다. Hyperledger Fabric의 전제 조건 가이드 및 바이너리, Docker 이미지 및 샘플 설치 가이드 를 확인 하세요.

모든 것이 설치되면 다음 명령을 사용하여 샘플 네트워크가 있는 저장소로 이동합니다.

cd 패브릭 샘플/첫 번째 네트워크

그런 다음 byfn.sh 스크립트를 사용하여 네트워크를 실행합니다. 이 네트워크를 실행하면 네트워크 통신이 용이해지고 컨테이너, 피어, 체인코드 등과 같은 필수 요소가 실행되어 다른 프로세스에 도움이 됩니다. 샘플 네트워크를 실행한 후에는 아티팩트를 생성할 차례입니다.

아티팩트 생성

다음 코드를 사용하여 아티팩트를 생성한 다음 확인 메시지가 표시되면 "Y"를 눌러 필요한 세부 정보 입력을 시작합니다.

.byfn.sh 생성

네트워크 전원 공급

아티팩트를 생성한 후 네트워크에 전원을 공급해야 합니다. 새 피어가 네트워크에 참여할 수 있도록 체인 코드 및 컨테이너를 포함한 모든 구성 요소를 실행합니다. 네트워크에 전원을 공급하려면 다음 코드를 사용하십시오.

./byfn.sh 위로

Hyperledger Fabric 체인코드의 기본 언어는 Go입니다. 그러나 다음 명령을 각각 사용하여 Node.js 또는 Java 사용으로 전환할 수 있습니다.

.byfn.sh up -l 노드

.byfn.sh up -l 자바

다음 코드 중 하나를 사용하여 여러 프로그래밍 언어를 사용하도록 선택할 수도 있습니다.

./byfn.sh up -o etcdraft

./byfn.sh up -o 카프카

네트워크 시작

이제 네트워크를 시작할 것입니다. 그러나 그 전에 우리는 다음을 수행해야 합니다.

  • 애플리케이션의 하위 디렉토리를 가져옵니다.
  • 패브릭 샘플 리포지토리의 로컬 클론 만들기

다음 명령 스크립트를 사용하여 네트워크를 시작합니다.

./startFabric.sh 자바스크립트

네트워크를 시작한 후에는 주문자에서 피어, 애플리케이션 개발을 위한 인증 기관에 이르기까지 모든 권한을 갖게 됩니다. 응용 프로그램의 하위 디렉터리를 사용하고 있으므로 스마트 계약이 자동으로 실행됩니다.

첫 번째 애플리케이션 설치

다음 코드를 사용하여 애플리케이션 설치 및 시작에 필요한 종속성을 설치합니다.

npm 설치

인증 기관과 연결

네트워크가 가동되고 실행되면 체인에 사용자를 추가할 수 있는 권한을 부여할 수 있는 당국과 의사 소통을 시작하겠습니다. 이를 위해서는 인증서 서명 요청(CSR)을 거쳐야 합니다. 아래 명령을 사용하여 인증 기관에 연락하고 공용, 사설 및 x.509 인증서를 생성합니다.

노드 등록 관리.js

귀하의 정보는 이제 지갑에 보관됩니다. 마찬가지로 새 사용자를 추가하려면 동일한 프로세스를 거쳐 다음 코드를 사용해야 합니다.

노드 reisterUser.js

이 코드는 사용자를 추가하고 세부 정보는 지갑에 보관됩니다.

원장 질의

읽기 쿼리를 사용하여 블록체인 네트워크를 통해 원장을 쿼리하고 결과를 얻을 수 있습니다. 원장은 읽기 전용이므로 애플리케이션은 쓰기 쿼리를 실행하지 않습니다.

아래 코드를 사용하여 원장에서 모든 데이터를 검색합니다.

노드 쿼리.js

다음으로 데이터를 전달하기 위한 연결을 설정해야 합니다. 연결이 설정되면 애플리케이션이 네트워크에 연결할 수 있도록 게이트웨이를 만듭니다. 다음 코드 줄은 이 모든 작업을 수행하는 데 도움이 됩니다.

const { 파일시스템 지갑, 게이트웨이 } = require('패브릭 네트워크');

const 게이트웨이 = 새로운 게이트웨이();

gateway.connect(ccp, { 지갑, ID: 'user1' })를 기다립니다.

const 계약 = network.getContract('하위 디렉토리_이름');

위 코드의 CPP는 사용자 정보에 접근하고 확인하는 데 사용됩니다. 코드의 마지막 줄은 특정 채널에 연결됩니다. 전체 블록체인 네트워크가 여러 채널에서 실행되기 때문에 필수적입니다.

계약 이해

응용 프로그램의 스마트 계약에 액세스하려면 chaincode/subdirectory_name/javascript/lib 하위 디렉터리로 이동합니다. 위 디렉토리에서 subdirectory_name은 애플리케이션의 하위 디렉토리 이름이 됩니다. 편집기에서 여기에 있는 application_name.js 파일을 엽니다. 이 파일에서 스마트 계약과 Contract 클래스 내에 정의된 모든 트랜잭션을 가져옵니다. 애플리케이션이 자동차에 관한 것이라고 가정하면 트랜잭션 세부 정보는 다음과 같습니다.

비동기 쿼리카(ctx, carNumber) {…}

읽기: 블록체인이 미래인 이유

원장 업데이트

초보자를 위한 이 Hyperledger Fabric 튜토리얼 의 마지막 부분은 원장을 업데이트하는 것입니다. 같은 자동차를 예로 들어 로그에 새 자동차를 추가하는 방법을 살펴보겠습니다. 다음 코드 줄을 사용하여 원장에 새 차량을 추가합니다.

await Contract.submitTransaction('createCar', 'CAR15', 'Owner', 'Brand', 'CarModel', 'Color');

위의 명령을 사용하면 언급된 속성 값과 함께 새 자동차가 생성됩니다. 이 새 트랜잭션을 원장으로 보내려면 아래 코드를 작성하십시오.

노드 invoke.js

그러면 원장이 성공적으로 업데이트됩니다.

결론

이것으로 Hyperledger Fabric 튜토리얼 이 끝났 습니다. 블록체인 기술과 Hyperledger Fabric 프레임워크는 전 세계 여러 산업에 혁명을 일으킬 잠재력을 가지고 있습니다. 이 튜토리얼에서는 Hyperledger Fabric 프레임워크의 작동 방식과 첫 번째 트랜잭션 및 앱을 실행하는 방법에 대한 간략한 아이디어를 제공했습니다. 세부 사항에 대해 알아보고 프레임워크를 사용하여 실제 비즈니스 응용 프로그램을 개발하는 방법을 배우고 싶다면 블록체인 기술 과정에서 upGrad 및 IIIT Bangalore의 고급 인증 프로그램을 신청할 수 있습니다 .

Ethereum, Hyperledger Fabric, 분산 응용 프로그램 개발(스마트 계약 개발, 백엔드 개발, API)과 같은 프레임워크 및 블록체인 기술에 대한 250시간 이상의 학습 자료입니다. 블록체인 개발 분야에서 경력을 쌓고 싶다면 지금 바로 지원하세요.

미래의 기술 마스터 - 블록체인

IIITB에서 블록체인의 임원 인증을 지금 신청하십시오