* 이 포스팅은 아래 원문을 번역한 포스팅입니다.
원문: https://www.ibm.com/developerworks/cloud/library/cl-ibm-blockchain-101-quick-start-guide-for-developers-bluemix-trs/index.html

블록체인을 구현하는 데 유용한 최고의 무료 툴, 교육 및 커뮤니티 리소스에 대한 월간 요약을 받아 보십시오.
최신판 | 구독

블록체인 혁명에 동참하십시오. 이 developerWorks는 블록체인 기술을 처음 접하고 블록체인 네트워크를 구성하고 운영하는 작업을 신속하게 시작하고자 하는 개발자를 위한 빠른 시작 가이드입니다. 간단한 지침을 통해 오픈 소스 Hyperledger Fabric을 기반으로 IBM Blockchain 네트워크를 구성하고, 체인코드(비즈니스 규칙)을 배포하고, 비즈니스 프로세스 및 디지털 상호 작용을 간소화하는 클라이언트 앱을 작성하는 방법을 안내합니다.

시작하기 전에

IBM Cloud에서의 개발 — 30일간 무료

2GB의 런타임 및 컨테이너 메모리, 최대 10개의 클라우드 서비스 프로비저닝에 대한 액세스, 무료 헬프 데스크 지원이 제공됩니다. Bluemix를 시험 사용해보고 Blockchain Starter Developer 플랜을 통해 클릭 한 번으로 블록체인 네트워크의 작성 및 테스트를 시작해 보십시오.

블록체인은 차세대 트랜잭션 애플리케이션을 위한 기술로서 신뢰성, 안정성, 투명성을 확립하는 동시에 비즈니스 프로세스를 간소화합니다. 블록체인 네트워크의 개념은 비트코인을 통해 대중화되었지만, 실제 사용 범위는 암호화된 화폐를 훨씬 능가합니다. IBM은 블록체인을 통해 가장 기본적인 비즈니스 교환 방식을 재설계하고 디지털 상호 작용의 새로운 세계를 개척하고 있습니다.

IBM을 비롯한 여러 기업들이 Linux Foundation의 Hyperledger Project에 참여하여 Hyperledger Fabric이라는 비즈니스용 블록체인 기술의 오픈 소스 구현을 개발하기 위해 협업하고 있습니다. Hyperledger Fabric의 모듈식 아키텍처는 플러그형 기능을 지원하며, 강력한 컨테이너 기술로 비즈니스 애플리케이션 개발을 위한 모든 주류 언어를 지원합니다.

***********************************************************************************************************************************************

1. 블록체인의 용어 및 개념

블록체인 개발자를 위한 권장 컨텐츠

Blockchain Developer Center의 developerWorks 자습서, 교육 과정, 블로그, 커뮤니티 지원을 통해 블록체인 기술을 연마하십시오.

Hyperledger Fabric의 산업 중심 설계는 현재 시장의 수요를 충족하기 위해 다양한 요구 사항을 만족시키고 이 분야의 선구적인 작업을 확대하는 동시에, 확장성과 기밀성 같은 문제를 해결합니다. Hyperledger Fabric은 여러 개의 블록체인 네트워크에서 권한이 부여된 네트워크, 개인 정보 보호, 기밀성을 구현하기 위한 새로운 방식을 제공합니다.

Hyperledger Fabric의 산업 중심 설계는 현재 시장의 수요를 충족하기 위해 다양한 요구 사항을 만족시키고 이 분야의 선구적인 작업을 확대하는 동시에, 확장성과 기밀성 같은 문제를 해결합니다. Hyperledger Fabric은 여러 개의 블록체인 네트워크에서 권한이 부여된 네트워크, 개인 정보 보호, 기밀성을 구현하기 위한 새로운 방식을 제공합니다.

블록체인 네트워크의 작동 방식과 관련된 용어와 개념을 알면 애플리케이션 개발을 시작하는 데 도움이 됩니다.

 

2. 블록체인 네트워크 및 개발 환경 구성

앞에서는 개념적인 배경을 살펴보았고, 애플리케이션 개발의 첫 단계는 코드를 개발, 테스트 및 배포할 수 있는 블록체인 네트워크를 시작하는 것입니다. 블록체인 네트워크는 세 가지 방법으로 시작할 수 있습니다.

옵션 1: Bluemix의 Blockchain 서비스 사용

Bluemix의 Blockchain 서비스를 사용하면 클릭 한 번으로 사설 블록체인 네트워크(Hyperledger Fabric의 복제본)를 생성하고 배포할 수 있습니다.

두 가지 네트워크 플랜을 사용할 수 있습니다. 둘 다 Hyperledger Fabric v0.6의 기능을 이용하며, ID 및 멤버 권한을 관리하는 인증 기관에 4-노드 네트워크를 제공합니다. 두 가지 플랜의 유일한 차이점은 운영 환경과 비용입니다.

Starter Developer Network 플랜(현재 베타 릴리스)은 IBM Bluemix 인프라(SoftLayer)에서 실행되는 공유된 멀티테넌트 환경을 제공합니다. 이 플랜은 무료입니다.
High Security Business Network (HSBN) 플랜은 IBM LinuxONE™ z Systems® 오퍼링의 Secure Service Container에서 실행되는 격리된 단일 테넌트 환경을 제공합니다. 이 계획은 가입자에게만 제공됩니다.

옵션 2: Docker Hub의 Hyperledger Fabric 이미지 사용

또는, Docker Hub에서 Hyperledger Fabric 이미지를 가져와서 자체 블록체인 네트워크를 관리할 수도 있습니다. 이 경우 Docker에서 Fabric을 실행하는 몇 가지 방법 중 하나를 선택할 수 있습니다. 즉 Docker Toolbox를 사용하거나, Mac OSX 또는 Windows를 위한 새로운 네이티브 Docker 런타임 환경 중 하나를 사용할 수 있습니다.

Docker(1.11 이상)을 설치하고 실행한 후에 Fabric 컴포넌트를 시작하려면 먼저 Docker Hub에서 Fabric 이미지를 가져와야 합니다.

1

2

docker pull hyperledger/fabric-peer:latest

docker pull hyperledger/fabric-membersrvc:latest

Fabric을 실행하려면 여러 컨테이너를 서로 연결해야 하므로, Docker Compose를 사용하는 것이 가장 간단한 방법입니다. Docker Toolbox 설치 또는 네이티브 Docker 런타임에서도 Compose를 설치합니다.

Docker Compose를 사용하여 블록체인 네트워크를 시작하려면 다음 단계를 따르십시오.

옵션 3: IBM에서 서명하고 지원하는 이미지를 사용

세 번째 대안은 IBM에서 서명하고 지원하는 이미지를 사용하는 것입니다. IBM에서 서명한 이미지는 사용 가능한 플랫폼(x86, Power, z System)에서 기능성, 안정성 및 성능이 테스트되었습니다.

 

3. 체인코드 앱 작성, 배포 및 테스트

체인코드는 사용자가 체인코드에 설정된 비즈니스 규칙에 따라 블록체인 네트워크와 상호 작용할 수 있게 해주는 Go(GoLang) 또는 Java™ 코드입니다. 사용자가 네트워크에서 트랜잭션을 호출할 때마다 원장에 값을 읽고 쓰는 체인코드의 기능을 호출하게 됩니다.

네트워크와 상호 작용할 수 있는 체인코드의 작성 및 배포에 대한 심화 과정은 개발자를 위한 IBM Blockchain 학습 경로: 첫 번째 체인코드 빌드를 참조하십시오.

옵션 1: Bluemix를 사용하여 체인코드 작성

Bluemix는 체인코드 애플리케이션을 빌드하는 단계를 안내하는 자습서를 제공합니다. 이 자습서를 따르면 네트워크에서의 교환을 위한 일반 자산을 생성하는 작동 가능한 체인코드를 증분 방식으로 빌드하게 됩니다. 그런 다음 네트워크 API를 통해 체인코드와 상호 작용합니다. 네트워크 API를 사용하려면 GitHub에서 Fabric 코드를 포크하고 로컬 시스템에 Go 프로그래밍 언어를 설치해야 합니다.

Bluemix 네트워크에 체인코드를 배포하고 Blockchain 대시보드 모니터를 사용하는 샘플 코드를 이용할 수도 있습니다.

“Hello Chaincode” 앱 외에 세 개의 데모 – Marbles, Commercial paper, Car lease – 를 Bluemix에 직접 배포할 수 있습니다. Marbles 데모가 가장 사용하기 쉽고, Car Lease 데모가 가장 고급 단계입니다.

옵션 2: Docker를 사용하여 체인코드 작성

Docker를 사용하는 체인코드 개발자는 전체 피어 네트워크를 설정할 필요 없이 체인코드를 테스트 및 디버그할 수 있습니다. 네트워크를 시작할 때와 마찬가지로 개발할 때도 몇 가지 옵션을 선택할 수 있습니다. 이전의 2단계, 옵션 2에서 가져온 Docker 이미지를 사용하는 경우 유효성 검증 노드로 체인코드를 등록하는 명령줄을 사용하거나, 트랜잭션을 호출하는 CLI, gRPC API 또는 REST API를 사용할 수 있습니다. 또한 HFC SDK를 사용할 수도 있습니다.

다음 지침은 Go 또는 Java에서 체인코드를 개발 및 배포하는 데 적용됩니다. 프로덕션 환경에서의 실행에는 적용되지 않습니다.

Marbles, Commercial paper 및 Car lease 앱을 로컬 Docker 환경에 배포할 수도 있습니다.

Go에서 체인코드를 개발하는 경우 다음 지침을 따르십시오.

 

4. 체인코드 앱을 호출하는 클라이언트 측 앱의 작성 및 배포

등록된 체인코드가 있는 블록체인 네트워크를 완성했으면 체인코드에 작성한 비즈니스 규칙을 읽고 쓰고 호출할 수 있는 클라이언트 측 애플리케이션을 빌드해야 합니다. Hyperledger Fabric Client(HFC) SDK는 애플리케이션이 Hyperledger Fabric 블록체인과 상호 작용할 수 있도록 하는 API를 사용하는 강력하고 쉬운 방법을 제공합니다.

HFC SDK를 이용하는 Node.js 애플리케이션을 사용하여 다음과 같은 네트워크 작업을 수행할 수 있습니다.

  • 사용자를 안전하게 등록합니다. registrar 권한이 있는 웹 애플리케이션 관리자는 웹 애플리케이션에 대하여 인증된 사용자를 동적으로 등록할 수 있습니다.
  • 트랜잭션을 블록체인 네트워크에 제출합니다(배포, 호출 및 쿼리). 모든 트랜잭션은 익명, 기밀이며 작성자 권한 없이 연결할 수 없습니다.
  • 민감한 개인 키 및 인증서를 블록체인 외부의 데이터베이스 같은 임의의 위치에 저장합니다. 이렇게 하려면 단순한 키-값 저장소 인터페이스를 구현해야 합니다.

옵션 1: Bluemix를 사용하는 클라이언트 앱 작성

다음 지침에 따라 HFC를 사용하여 Bluemix의 블록체인 네트워크와 상호 작용하십시오.

Node.js를 위한 Hyperledger Fabric 클라이언트(HFC) SDK 구성

옵션 2: Docker를 사용하는 클라이언트 앱 작성

Docker 이미지를 사용하는 경우 다음 단계를 따라 HFC SDK를 사용하십시오.

 

5. 블록체인 네트워크 및 앱의 모니터링 및 관리

대시보드 모니터는 블록체인 네트워크를 검사하기 위한 편리한 도구를 제공합니다. Bluemix의 대시보드 모니터를 사용하면 피어, 로그, 원장 상태, API 및 체인코드에 대한 네트워크 정보를 볼 수 있습니다.

옵션 1: Bluemix를 사용하여 모니터링

옵션 2: Docker를 사용하여 모니터링

Blockchain Explorer는 Hyperledger Docker 이미지를 사용하는 개발자를 위한 사용자 인터페이스를 제공합니다. 현재 개발 중입니다.

 

6. Hyperledger Fabric 빌드에 대한 참여 및 지원

다양한 형태로 Hyperledger Project에 대한 기여를 받고 있습니다. RocketChat은 커뮤니케이션에 사용되고, Google Hangouts는 개발자 간의 스크린 공유에 사용됩니다. 개발 계획 및 우선 순위 지정은 JIRA에서 이루어지며, 더 상세한 실행 논의 및 의사결정은 메일링 목록을 통해 이루어집니다.

Hyperledger Fabric의 유지보수 담당자는 검토를 위해 제출되는 모든 패치를 검토하고 병합하는 역할을 합니다. 이들은 Hyperledger Project의 Technical Steering Committee (TSC)에서 작성한 가이드라인 내에서 전반적인 기술 방향을 안내합니다.

 

7. 도움말 및 지원

질문에 대한 답변과 지원을 얻을 수 있는 리소스는 다음과 같습니다.

  1. Blockchain service on Bluemix에서 Blockchain 서비스를 사용하는 경우:
    먼저 지원 및 알려진 문제 페이지를 살펴보십시오. 서비스와 관련하여 현재 확인된 비정상적인 부분과 함께 Hyperledger Fabric 코드의 새로운 커밋에 대한 릴리스 노트를 확인할 수 있습니다.
  2. Hyperledger Fabric 이미지를 사용하는 경우:
    Hyperledger 채널 가이드의 Fabric 채널을 살펴보고 질문에 맞는 토론 그룹에 참여하십시오.
  3. 질문에 대한 답을 찾지 못한 경우:
    GitHub 이슈를 통해 Blockchain 개발 팀에 연락하십시오.

 

***********************************************************************************************************************************************

다음 단계

Hyperledger Fabric v1.0의 새로운 기능이 개발 중이므로, 커뮤니티 멤버들이 코드를 기여하고 특정한 비즈니스 요구사항에 맞게 Fabric을 조정할 수 있는 기회가 많이 있습니다. 다음 비디오에서 미리보기를 살펴보십시오.

Video(02:52/)

다운로드할 수 있는 리소스

관련 주제

2 개의 댓글"IBM Blockchain 101: 개발자를 위한 빠른 시작 가이드"

  1. […] 원문 보기 : IBM Blockchain 101: 개발자를 위한 빠른 시작 가이드 […]

  2. […] 원문 보기 : IBM Blockchain 101: 개발자를 위한 빠른 시작 가이드 […]

토론 참가

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다