본문 바로가기

Hyperledger Fabric/Document

[HYPERLEDGER FABRIC v1.1]Getting Started

Prerequisites

 전제 조건

cURL 설치

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

* Windows 사용자 인 경우 아래 Windows 관련 추가 정보를 참조하십시오.

도커와 도커 작성

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

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

참고 : docker 설치

curl -fsSL https://get.docker.com/ | sudo sh

Terminal Prompt에서 다음 명령을 사용하여 설치 한 Docker의 버전을 확인할 수 있습니다.

docker --version
Mac 또는 Windows 용 Docker 또는 Docker Toolbox를 설치하면 Docker Compose도 설치됩니다. Docker를 이미 설치했다면 Docker Compose 버전 1.14.0 이상이 설치되어 있는지 확인해야합니다. 그렇지 않은 경우 Docker의 최신 버전을 설치하는 것이 좋습니다.

Terminal Prompt에서 다음 명령을 사용하여 설치 한 Docker Compose의 버전을 확인할 수 있습니다.

참고 : docker-compose 설치 (https://www.digitalocean.com/community/tutorials/how-to-install-docker-compose-on-ubuntu-16-04)

docker-compose --version

Go 프로그래밍 언어

Hyperledger Fabirc은 많은 구성 요소에 대해 Go programming 언어 1.9.x를 사용합니다.

* Go 버전 1.8.x를 사용한 빌드는 지원되지 않습니다.
Go -version 1.9.x

Go에 체인 코드 프로그램을 작성하게되면 설정해야 할 두 가지 환경 변수가 있습니다. Linux ~/.bashrc에서 bash쉘을 사용하는 경우 개인 파일과 같은 적절한 시작 파일에 이러한 설정을 지정하여 영구적으로 정할 수 있습니다.

먼저, 다운로드 한 Fabric code base가 포함 된 Go 작업 영역을 가리키 도록 환경 변수 GOPATH를 다음과 같이 설정해야합니다 .

export GOPATH=$HOME/go
GOPATH 변수를 설정해야합니다.
Linux에서 Go의 GOPATH 변수는 colon으로 구분 된 디렉토리 목록이 될 수 있으며 설정되지 않은 경우$HOME/go의 기본값을 사용합니다. 현재 Fabric 빌드 프레임워크는 여전히 해당 변수를 설정하고 내보내도록 요구합니다. 이동 작업 공간에 대한 단일 디렉토리 이름만 포함해야합니다. 이 제한 사항은 이후 릴리스에서 제거 될 수 있습니다.

둘째로, 적절한 시작 파일에서 명령 검색 경로를 확장하여 Go bin디렉토리 를 포함시켜야합니다 ( 예 bash: Linux에서 의 다음 예제) .

export PATH = $ PATH : $ GOPATH / bin

이 디렉토리는 새로운 Go 작업 공간 설치에 존재하지 않을 수 있지만 나중에 빌드 시스템의 다른 부분에서 사용되는 Go 실행 파일 수가 적은 Fabric 빌드 시스템으로 채워집니다. 따라서 현재 디렉토리가없는 경우에도 위와 같이 쉘 검색 경로를 확장하십시오.

Node.js 런타임 및 NPM

Node.js 용 Hyperledger Fabric SDK를 활용하는 Hyperledger 패브릭 용 응용 프로그램을 개발하려면 Node.js 버전 8.9.x가 설치되어 있어야합니다.

Node.js 버전 9.x는 현재 지원되지 않습니다.
* Node.js - 버전 8.9.x 이상
Node.js를 설치하면 NPM도 설치되지만 설치된 NPM의 버전을 확인하는 것이 좋습니다. npm다음 명령을 사용 하여 도구를 업그레이드 할 수 있습니다 .
npm install npm@5.6.0 -g

파이썬

*다음은 우분투 16.04 사용자에게만 적용됩니다.

기본적으로 Ubuntu 16.04는 Python 3.5.1이 python3바이너리 로 설치되어 제공됩니다 . Fabric Node.js SDK는 npm install작업이 성공적으로 완료 될 수 있도록 Python 2.7이 요구됩니다. 다음 명령을 사용하여 2.7 버전을 검색하십시오.

sudo apt-get install python

버전 확인 :

python --version

Windows 관련 추가 정보

Windows 7에서 개발중인 경우 Git Bash 를 사용하는 Docker Quickstart 터미널에서 작업 하고 내장 Windows 셸에 대한 더 나은 대안을 제공 할 수 있습니다.

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

Windows 10에서는 기본 Docker 배포를 사용해야하며 Windows PowerShell을 사용할 수 있습니다. 그러나 Download Platform-specific Binaries 명령이 성공하려면 여전히 uname명령을 사용할 수 있어야합니다 . Git의 일부로 얻을 수 있지만 64 비트 버전 만 지원된다는 점에 유의하십시오.

명령을 실행 하기 전에 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 명령은 이전 버전이므로 Getting Started에서 사용한 리디렉션을 제대로 처리하지 못합니다 . cURL 다운로드 페이지 에서 최신 버전을 설치하여 사용 하십시오.

또한, Node.js를 사용하기 위해 Visual Studio C ++ 빌드 도구가 필요합니다.이 도구는 무료로 사용할 수 있으며 다음 명령을 사용하여 설치할 수 있습니다.

npm install --global windows-build-tools

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

이 작업이 완료되면 다음 명령을 사용하여 NPM GRPC 모듈도 설치해야합니다.

npm install --global grpc

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

Hyperledger Fabric Samples

Hyperledger Fabric 샘플

* Windows에서 실행중인 경우 Docker Quickstart Terminal을 사용해서 terminal 명령어들을 입력하고 할 것 입니다. 이전에 설치하지 않은 경우 앞선 전제 조전을 방문하십시오.
Windows 7 또는 macOS에서 Docker Toolbox를 사용하는 경우 샘플을 설치하고 실행할 때 C:\Users(Windows 7) 또는 /Users(macOS) 위치를 사용해야합니다 .
Mac용 Docker를 사용하고 있다면, 당신은 /Users/Volumes/private, 또는 /tmp 위치를 사용해야합니다 . 다른 위치를 사용하려면 파일 공유에 대한 Docker 설명서를 참조하십시오 .
Docker for Windows를 사용하는 경우 공유 드라이브에 대한 Docker 설명서를 참조하고 공유 드라이브 중 하나에 위치를 사용하십시오.

Hyperledger Fabric 샘플 애플리케이션 저장소를 배치하고 터미널 창에서 열어 볼 위치를 기기에서 결정합니다. 그런 다음, 다음 명령을 실행하십시오.

git clone -b master https://github.com/hyperledger/fabric-samples.git
cd fabric-samples
git checkout {TAG}
샘플이 아래에서 다운로드하는 Fabric 바이너리 버전과 호환되는지 확인하려면 {TAG}Fabric 버전과 일치 하는 샘플 ( 예 : v1.1.0)을 확인하십시오. 모든 fabric-samples 태그의 목록을 보려면 "git tag"명령을 사용하십시오.

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

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

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

curl -sSL https://goo.gl/6wtTN5 | bash -s 1.1.0
* 위의 curl 명령을 실행하는 중에 오류가 발생하면 리디렉션이나 지원되지 않는 환경을 처리하지 못하는 너무 오래된 curl 버전이 있을 수 있습니다.
최신 버전의 curl을 찾고 올바른 환경을 얻을 수 있는 곳에 대한 추가 정보는 위의 전제 조건 탭을 참고하십시오 .
또는 축소되지 않은 URL을 https://github.com/hyperledger/fabric/blob/master/scripts/bootstrap.sh로 대체 할 수 있습니다.
Hyperledger Fabric의 게시 된 버전에 대해 위의 명령을 사용할 수 있습니다. '1.1.0'을 설치하려는 버전의 버전 식별자로 바꾸기 만하면됩니다.

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

  • cryptogen,
  • configtxgen,
  • configtxlator,
  • peer
  • orderer and
  • fabric-ca-client

그리고 bin현재 작업중인 디렉토리 의 하위 디렉토리에 저장합니다.

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

export PATH = <다운로드 위치 경로> / bin : $ PATH

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

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

각 이미지의 이름을보십시오. 이들은 궁극적으로 Hyperledger Fabric 네트워크를 구성하게 될 구성 요소입니다. 동일한 이미지 ID의 인스턴스가 두 개 있는데, 하나는 "x86_64-1.xx"이고 다른 하나는 "latest"로 태그가 붙어있는 것을 볼 수 있습니다.

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

Install Prerequisites

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

Install Binaries and Docker Images

바이너리 및 고정 이미지 설치

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

스크립트는 Docker 이미지를 로컬 레지스트리에 다운로드합니다.

API Documentation

API 문서

Hyperledger Fabric의 Golang API에 대한 문서는 godoc 사이트에서 찾을 수 있습니다 Fabric .

이러한 API를 사용하여 개발을 계획하고 있다면 지금 해당 링크를 북마크하세요.

Hyperledger Fabric SDKs

Hyperledger Fabric SDK

Hyperledger Fabric은 다양한 프로그래밍 언어를 지원하는 여러 SDK를 제공합니다. 

Node.js와 Java에는 공식적으로 출시 된 SDK가 두 가지 있습니다.

또한 공식적으로 아직 출시되지 않은 Python, Go 및 REST 용 SDK가 세 가지 더 있지만, 다음과 같이 다운로드하여 테스트 할 수 있습니다.

Hyperledger Fabric CA

Hyperledger Fabric CA

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

그러나 ECDSA 인증서를 생성 할 수있는 모든 CA를 사용할 수 있습니다.

Fabric CA User's Guide