본문 바로가기

Hyperledger Fabric/Document

[HYPERLEDGER FABRIC v1.0]1. 개요

 하이퍼레저 페브릭에 오신걸 환영합니다 ( WELCOME TO HYPERLEDGER FABRIC )

Hyperledger Fabric: 고도의 기밀성, 탄력성, 유연성 및 확장 성을 제공하는 모듈러 아키텍처를 기반으로하는 분산 원장 솔루션을 위한 플랫폼

  • 다양한 구성 요소의 플러그 가능 구현을 지원하고 경제 생태계 전반에 걸쳐 존재하는 복잡성과 복잡성을 수용하도록 설계
  • 고유한 탄성과 확장성을 지닌 아키텍처를 제공하여 이를 대체 블록체인 솔루션과 구별
  • 미래의 엔터프라이즈 블록 체인을 계획하려면 완전히 검증 된 오픈 소스 아키텍처를 구축해야함

처음 사용자 는 Hyperledger Fabric 구성 요소와 기본 트랜잭션 흐름에 익숙해지기 위해 시작하기 섹션을 통해 시작하는 것이 좋습니다. 편안하다면 데모, 기술 사양, API 등에 대한 라이브러리 둘러보기를 계속하십시오.

[참고] 이 문서에서 다루지 않는 질문이 있거나 튜토리얼에 문제가있는 경우 Still Have Questions 를 방문하십시오 . 페이지에서 추가 도움말을 찾을 수있는 몇 가지 정보를 얻을 수 있습니다.

시작하기 전에 Hyperledger Fabric이 비즈니스를위한 블록 체인을 구축하는 방법을 확인하십시오. 

 개요 (GETTING STARTED)

필수 구성요소 ( Prerequisites )

cURL 설치 ( Install cURL )

  • 최신 버전의 cURL 도구가 아직 설치되지 않았거나 설명서에서 curl 명령을 실행하는 중에 오류가 발생하는 경우 다운로드하십시오.

도커와 도커 컴포즈 ( Docker and Docker Compose )

Hyperledger 패브릭을 운영하거나 개발할 플랫폼에 다음이 설치되어 있어야합니다.

  • MacOSX, * nix 또는 Windows 10 : Docker Docker 버전 17.06.2-ce 이상이 필요합니다.
  • 이전 버전의 Windows : Docker Toolbox - 다시 Docker 버전 Docker 17.06.2-ce 이상이 필요합니다.

터미널 프롬프트에서 아래의 명령을 사용하여 설치 한 Docker의 버전을 확인할 수 있습니다.

docker --version

[참고] Mac이나 윈도우, Docker Toolbox에서 설치할때, Docker Compose도 또한 설치해야합니다. 만약 Docker가 이미 설치된 경우, Docker Compose 버전이 1.14.0 이상이 설치되어 있는지 확인해야합니다. 그렇지 않다면, 최신 버전의 도커를 설치하는 것을 추천합니다. 아래의 명령을 활용하면, Docker Compose의 버전을 확인할 수 있습니다.

docker-compose --version

Go 프로그래밍 ( Go Programming Language )

Hyperledger 패브릭은 많은 구성 요소에 Go 프로그래밍 언어 1.9.x를 사용합니다. Go 체인 코드 프로그램을 작성했다는 것을 감안할 때 소스 코드가 $GOPATH트리 내의 어딘가에 있는지 확인해야합니다 . 먼저 $GOPATH환경 변수를 설정했는지 확인해야 합니다.

echo $GOPATH
/Users/xxx/go

$ GOPATH를 에코 할 때 아무 것도 표시되지 않으면 설정해야합니다. 일반적으로이 값은 개발 작업 영역의 디렉토리 트리 하위 ($ HOME 디렉토리의 하위)입니다. Go에서 많은 코딩 작업을 수행 할 것이므로 ~/.bashrc에 다음을 추가 할 수 있습니다.

export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

Node.js 런타임과 NPM ( Node.js Runtime and NPM )

Node.js에서 Fabric SDK를 활용한 하이퍼레저 페브릭을 활용한 애플리케이션을 개발할 것이라면, Node.js의 6.9 버전 이하 설치가 필요합니다.

[참고] Node.js 버전 7.x는 현재 지원되지 않습니다.

  • Node.js - 버전 6.9.x 이상

[참고] Node.js를 설치하면 NPM도 설치되지만 설치된 NPM의 버전을 확인하는 것이 좋습니다. npm다음 명령을 사용 하여 도구를 업그레이드 할 수 있습니다 .

npm install npm@3.10.10 -g

파이썬( Python )

[노트] 다음은 우분투 16.04 사용자에게만 적용됩니다.

기본적으로 Ubuntu 16.04는  python3 바이너리로 설치된 Python 3.5.1과 함께 제공됩니다. Fabric Node.js SDK는 npm install  작업을 성공적으로 완료하기 위해 Python 2.7을 반복해야합니다. 다음 명령을 사용하여 2.7 버전을 검색하십시오.

sudo apt-get install python

버전 확인:

python --version

Windows extras

Windows에서 개발중인 경우 Windows 7에 Docker Toolbox를 설치하는 과정에서 일반적으로 사용하는 Git Bash 와 같은 내장 Windows에 대한 더 나은 대안을 제공하는 Docker Quickstart 터미널에서 작업하는 것이 좋습니다 .

그러나 경험상 제한된 기능으로 인해 개발 환경이 열악한 것으로 나타났습니다.  Getting Started과 같은 Docker 기반 시나리오를 실행하는 것이 적합 하지만이 make명령 과 관련된 작업에는 어려움이있을 수 있습니다.

git clone 명령을 실행하기 전에 다음 명령을 실행하십시오.

git config --global core.autocrlf false
git config --global core.longpaths true

다음 명령을 사용하여 이러한 매개 변수의 설정을 확인할 수 있습니다.

git config --get core.autocrlf
git config --get core.longpaths

이들은 각각 false 와 true 이어야합니다.

Git 및 Docker Toolbox와 함께 제공 되는 curl명령은 이전 버전이므로 시작하기에서 사용한 리디렉션을 제대로 처리하지 못합니다 . cURL 다운로드 페이지 에서 최신 버전을 설치하여 사용 하십시오.

Node.js를 사용하려면 자유롭게 사용할 수 있고 다음 명령으로 설치할 수있는 필요한 Visual Studio C ++ 빌드 도구가 필요합니다.

npm install --global windows-build-tools

자세한 내용은 NPM windows-build-tools 페이지 를 참조하십시오.

npm install --global grpc

이제 Getting Started 환경 샘플 및 자습서를 통해 환경을 준비해야합니다 .

시작하기 ( Getting Started )

필수 구성 요소 설치 ( Install Prerequisites )

작업을 시작하기 전에 아직 블록 체인 응용 프로그램을 개발하거나 Hyperledger Fabric을 운영 할 플랫폼에 모든 필수 구성 요소가 설치되어 있는지 확인하십시오 .

바이너리 및 도커 이미지 설치 ( Install Binaries and Docker Images )

Hyperledger Fabric 바이너리 용 실제 설치 프로그램을 개발하는 동안 플랫폼 고유 바이너리 를 시스템에 다운로드 하는 스크립트를 제공 합니다. 스크립트는 Docker 이미지를 로컬 레지스트리에 다운로드합니다.

하이퍼레저 패브릭 샘플 ( Hyperledger Fabric Samples )

튜토리얼이 샘플 코드를 활용하므로 튜토리얼을 시작하기 전에 이러한 Hyperledger 패브릭 샘플 을 설치하려는 샘플 애플리케이션 세트를 제공합니다.

API 문서 ( API Documentation )

Hyperledger Fabric의 Golang API에 대한 API 문서는 Fabric의 godoc 사이트에서 찾을 수 있습니다. 이러한 API를 사용하여 개발을 계획하고 있다면 지금 해당 링크를 북마크 할 수 있습니다.

하이퍼레저 패브릭 SDK ( Hyperledger Fabric SDKs )

Hyperledger Fabric은 다양한 프로그래밍 언어에 대해 다양한 SDK를 제공 할 예정입니다. 최초로 제공되는 두 SDK는 Node.js와 Java SDK입니다. 1.0.0 릴리스 이후 곧 Python 및 Go SDK를 제공하기를 바랍니다.

하이퍼레저 패브릭 CA ( Hyperledger Fabric CA )

Hyperledger Fabric은 인증서 및 키 자료를 생성하는 데 사용할 수 있는 선택적인 인증기관 서비스를 제공하여 블록체인 네트워크에서 ID를 구성 및 관리합니다. 그러나 ECDSA 인증서를 생성 할 수 있는 모든 CA를 사용할 수 있습니다.

튜토리얼 ( Tutorials )

Hyperledger Fabric으로 시작하기 위해 4가지 초기 자습서를 제공합니다. 

첫 번째는 Hyperledger Fabric Writing Your First Application, 첫 번째 애플리케이션 작성을 지향합니다. Hyperledger 패브릭 노드 SDK를 사용하여 Hyperledger 패브릭에 대한 첫 번째 블록 체인 응용 프로그램을 작성하는 과정을 안내합니다 .

두 번째 자습서는 Hyperledger Fabric 네트워크 운영자인 Building Your First Network를 지향 합니다. 이것은 Hyperledger Fabric을 사용하여 블록 체인 네트워크를 구축하는 과정을 안내하고이를 테스트하기위한 기본 샘플 애플리케이션을 제공합니다.

마지막으로 두 개의 체인 코드 자습서를 제공합니다. 개발자를 위한 지향점, Chaincode for Developers 및 운영자를 위한 다른 지향점, Chaincode for Operators.

.. 참고사항 :이 문서에서 언급하지 않은 질문이 있거나 자습서 중 하나와 관련된 문제는 Still Have Questions 를 방문하십시오 . 페이지에서 추가 도움말을 찾을 수있는 몇 가지 정보를 얻을 수 있습니다.

하이퍼레저 패브릭 샘플 ( Hyperledger Fabric Samples )

[참고] Windows에서 실행중인 경우 다가오는 터미널 명령에 Docker Quickstart Terminal을 사용하고자 할 것입니다. 이전에 설치하지 않은 경우 선행 조건을 방문하십시오. Windows 7 또는 macOS에서 Docker Toolbox를 사용하는 경우 샘플을 설치하고 실행할 때  C:\Users(Windows 7) 또는 /Users (macOS)에서 위치를 사용해야합니다. Mac 용 Docker를 사용하는 경우 /Users/Volumes/private, 또는  /tmp 아래에 위치를 사용해야합니다. 다른 위치를 사용하려면 파일 공유에 대한 Docker 설명서를 참조하십시오. Docker for Windows를 사용하는 경우 공유 드라이브에 대한 Docker 설명서를 참조하고 공유 드라이브 중 하나에 위치를 사용하십시오. 당신이 Hyperledger 원단 샘플 응용 프로그램 저장소를 두어 터미널 창에서 그 열려면 컴퓨터의 위치를 결정합니다. 그런 다음, 다음 명령을 실행하십시오.

Hyperledger Fabric 샘플 응용 프로그램 저장소를 배치하고 터미널 창에서 열기를 원하는 위치를 기계에서 결정하십시오. 그런 다음, 다음 명령을 실행하십시오.

git clone https://github.com/hyperledger/fabric-samples.git
cd fabric-samples

플랫폼 별 바이너리 다운로드 ( Download Platform-specific Binaries )

다음으로 Hyperledger Fabric 플랫폼 별 바이너리를 설치합니다. 이 프로세스는 위의 Hyperledger 패브릭 샘플을 보완하도록 설계되었지만 독립적으로 사용할 수 있습니다. 위의 샘플을 설치하지 않는 경우, 플랫폼 특정 2 진 파일의 내용을 추출 할 디렉토리를 작성하고 입력하십시오.

플랫폼 특정 바이너리를 추출 할 디렉토리에서 다음 명령을 실행하십시오.

curl -sSL https://goo.gl/iX9dek | bash

[참고] 위의 curl 명령을 실행하는 중에 오류가 발생하면 너무 오래 된 curl 버전이있을 수 있습니다. 최신 버전을 찾을 수있는 위치에 대한 추가 정보 는 필수 구성 요소 페이지를 방문하십시오 .

위의 curl 명령은 네트워크를 설정하고 위에 작성한 복제 된 레포에 배치해야하는 모든 플랫폼 특정 2진 파일을 다운로드하고 추출하는 bash 스크립트를 다운로드하고 실행합니다. 4개의 플랫폼 별 바이너리를 검색합니다.

  • cryptogen,
  • configtxgen,
  • configtxlator, and
  • peer

bin현재 작업 디렉토리 의 서브 디렉토리에 위치시킵니다 .

PATH 환경 변수에 추가하여 각 바이너리의 경로를 완전하게 한정하지 않고 선택할 수 있습니다. 예 :

export PATH=<path to download location>/bin:$PATH

마지막으로, 스크립트는 Docker Hub 에서 로컬 Docker 레지스트리로 Hyperledger Fabric 도커 이미지를 다운로드하고 '최신'으로 태그를 지정합니다.

이 스크립트는 결론에 따라 설치된 Docker 이미지를 나열합니다.

각 이미지의 이름을 보십시오. 이들은 Hyperledger Fabric 네트워크를 구성하게 될 구성 요소입니다. "x86_64-1.0.0"이라는 태그가 붙은 이미지 ID와 "latest"라는 태그가있는 이미지 ID가 동일한 인스턴스가 두 개 있음을 알 수 있습니다.

[참고] 다른 아키텍처에서는 x86_64가 아키텍처를 식별하는 문자열로 바뀝니다.

[참고] 이 문서에서 다루지 않는 질문이 있거나 튜토리얼에 문제가있는 경우 Still Have Questions 를 방문하십시오 . 페이지에서 추가 도움말을 찾을 수있는 몇 가지 정보를 얻을 수 있습니다.