Create Hyperledger Fabric Sidechain

루니버스 사이드 체인 중 Hyperledger Fabric 체인을 생성하는 방법입니다.

Hyperledger Fabric 사이드체인 생성 순서

Hyperledger Fabric 사이드 체인의 경우 다음과 같은 순서로 네트워크를 생성 및 구성할 수 있습니다.

  1. Organization 구성을 통한 Hyperledger Fabric 네트워크 생성하기
  2. 체인코드 배포
  3. 사용자 인증서 관리

1. Organization 구성을 통한 Hyperledger Fabric 네트워크 생성하기

루니버스에서 하이퍼레저 패브릭을사용하려면 먼저 Organization 구성을 해야 합니다. Organization은 독립적인 체인을 만들고 운영하기 위한 구성 단위로서 체인의 사용료가 과금되는 주체이기도 합니다. Hyperledger Fabric에 관한 소개 및 Organization에 관한 자세한 사항은 Hyperledger Fabric Sidechain페이지를 참조해주세요.

아래 진행 순서에 따라 Hyperledger Fabric 네트워크를 생성할 수 있습니다.


  1. Home 좌측 메뉴에서 Environment > Overview 를 선택합니다.

  1. [+Create Environment] 버튼을 클릭합니다.

  1. Luniverse Chain 아래의 Hyperledger Fabric 탭을 클릭합니다.

  1. Pricing 화면에서 필요한 체인 사양에 따라 사용할 체인의 plan을 선택합니다.
  • 플랜을 선택하여 구매하기 위해서는 사전에 결제 수단(Payment Method)이 등록되어 있어야 합니다. 결제 수단 등록 방법은 Payment Method Management페이지를 참조해주세요.

  1. Billing 화면에서 선택한 plan의 정보 및 등록한 결제 수단 정보를 확인하고 [Next] 버튼을 클릭합니다.

  1. Hyperledger Fabric 생성 화면에서 생성할 체인의 정보를 입력합니다. 한번 생성된 네트워크 구성은 추후 변경할 수 없습니다.
TypeDescription
Network Name생성하실 체인의 이름을 입력하세요.
Number of Organization생성하고자 하는 네트워크 패브릭 조직의 수
Peer per Organization각 패브릭 조직당 피어 노드의 수
Number of Channel생성하고자 하는 채널의 수
Version사용하고자 하는 Hyperledger Fabric 버전 정보를 선택하세요.

  1. 네트워크가 생성되면 다음과 같이 간략한 네트워크 구성도가 보입니다. 이 화면에서 각 패브릭 조직(Fabric Organization)과 피어(Peer), 오더러(Orderer), 채널(Channel)들의 이름을 변경할 수 있습니다.

  1. 이름을 모두 변경했다면 최종적으로 Launch 버튼을 클릭합니다. Launch 버튼 클릭 직후 루니버스는 본격적으로 네트워크를 런칭하기 시작하고, 각 노드들의 상태와 전체적인 네트워크의 상태가 표시됩니다. 네트워크가 모두 런칭되려면 10분 내외의 시간이 걸립니다.

  1. 네트워크가 모두 런칭되면 네트워크가 Running 상태로 변하게 됩니다. 이제부터 본격적으로 하아퍼레저 패브릭 네트워크가 동작을 시작하며, 완전히 독립적인 체인에서 자신만의 체인 코드를 배포하고 서비스할 수 있습니다.

2. 체인 코드 배포

앞선 단계에서 구성한 Hyperledger Fabric 네트워크에 체인 코드를 배포할 수 있습니다.

  1. Home 좌측 메뉴에서 Contract > Chaincode 메뉴를 선택합니다.

  1. [+Create Chain code] 버튼을 클릭하여 채널의 상세 정보 페이지로 이동합니다.

  1. 체인 코드를 등록하는 화면에서 배포하고자 하는 체인코드의 정보를 입력합니다.
FieldDescription
Environment체인 코드를 배포하고자 하는 대상 환경을 선택합니다.
ChainCode Name- 2-50자 이내의 영문/숫자와 특수문자 중 언더바(_)와 대쉬(-)를 입력할 수 있습니다.
- 특수문자의 경우 첫 번째 자리와 마지막 자리에는 입력 할 수 없습니다.
Ex) _1contract (X) 1contract- (X) 1-contract (O)
Description체인코드에 대한 간략한 설명을 입력합니다.
Version체인 코드 버전 정보를 입력합니다. 영문/숫자와 언더바(_), 마침표(.), 대쉬(-)를 입력할 수 있습니다. 단, 특수문자의 경우 첫번째 자리에는 입력할 수 없습니다.
Upload File배포하고자 하는 체인 코드 소스를 업로드 할 수 있습니다.
체인코드 소스가 포함된 디렉토리 전체를 .zip으로 압축하여 업로드합니다.
루니버스에서는 하이퍼레저 패브릭 공식 지원 언어인 Go, Java, Node.js 총 세 가지 언어를 모두 지원합니다. 언어는 별도로 설정할 필요 없이 자동으로 설정되어 배포됩니다.
  1. [Create] 버튼을 클릭하여 체인코드를 생성하면 체인코드가 등록되며 체인코드 리스트 화면에서 방금 등록한 체인코드를 확인할 수 있습니다.
  2. 등록된 체인코드는 Install 및 Instantiate 과정을 거쳐야 완전히 배포됩니다. 체인코드 리스트에서 체인코드를 선택해 체인코드 상세페이지로 이동합니다. 상세페이지에서는 체인코드의 현재 상태를 확인할 수 있습니다.
  3. [Install] 버튼을 클릭해서 Peer에 체인코드를 인스톨합니다. 인스톨이 완료되면 상태가 Installed로 변경된 것을 확인할 수 있습니다.
  4. 인스톨이 완료되면 이제 Chaincode를 Channel에 Instantiate합니다. Instantiation Status 리스트에서 원하는 채널의 [Instantiate] 버튼을 클릭합니다
  5. Instantiate Chaincode 팝업에서 체인코드의 arguement 정보를 입력하고 [Instantiate] 버튼을 클릭해 Instantiation을 진행합니다. 체인코드 배포 진행이 완료되면 Instantiate 상태가 Instantiated로 반영된 것을 확인할 수 있습니다.
    • 체인코드의 init 함수에 들어갈 인자(Argument)정보는 JSON Array 형식으로 입력합니다.

3. 사용자 인증서 관리

Hyperledger Fabric은 허가형 블록체인(Permissioned Blockchain)이기 때문에 Fabric 네트워크를 사용하기 위해서는 사용자 등록과 인증서 발급이 필요합니다. 루니버스 콘솔을 통해 Fabric 조직(Fabric Organization)에 쉽게 사용자를 추가하고 인증서와 키를 발급받을 수 있습니다.

루니버스 Hyperledger Fabric에는 3가지 종류의 사용자가 있습니다. 각각의 역할은 다음과 같습니다.

  • CA Admin
    **해당 Fabric 조직의 CA Admin으로서 조직의 사용자, 피어(Peer)를 CA에 등록하여 인증서를 생성할 수 있습니다.
  • Organization Admin
    **해당 Fabric 조직의 Admin으로서 Fabric 네트워크 정책의 관리자 역할을 수행합니다.
    채널 생성, 피어 조인, 체인코드 배포 등의 동작을 수행할 수 있습니다.
  • Member
    해당 Fabric 조직의 일반 사용자로서, Fabric 네트워크를 사용할 수 있습니다.
    발급받은 인증서를 사용해 Fabric 클라이언트(ex. DApp)에서 체인코드를 호출할 수 있습니다.

Organization Admin과 CA Admin의 인증서는 다음과 같이 다운로드 받을 수 있습니다.

  1. 콘솔 홈에서 대상 Hyperledger Fabric [Environment] 탭을 선택한 뒤, 다운로드 하려는 조직을 리스트에서 클릭합니다.
  2. 조직(Organization)의 상세 정보를 보여주는 화면이 나오면 'Organization Admin Certificate' 와 'CA Admin Certificate' 옆의 [Download] 버튼을 클릭하여 관리자 인증서를 다운로드 할 수 있습니다.

패브릭 조직(Fabric Organization)에 일반 사용자를 추가하고 인증서를 발급받을 수 있습니다.

  1. 콘솔 홈에서 대상 Hyperledger Fabric [Environment] 탭을 선택한 뒤, 다운로드 하려는 조직을 리스트에서 클릭합니다.
  2. 패브릭 조직(Fabric Organization)의 상세 정보를 보여주는 화면이 나오면 [+Add New Member] 버튼을 클릭합니다. 추가하려는 멤버의 ID를 입력하고 [Add] 버튼을 클립합니다.
  3. 사용자가 추가되면 멤버 리스트(Member List)에 추가된 사용자가 표시됩니다. 사용자가 추가되면 수 초 이내에 인증서가 자동으로 만들어지며, 멤버(Member) ID 옆에 나오는 [Download] 버튼을 클릭하여 인증서(Certificate)와 비밀키(Private Key)를 다운로드 받을 수 있습니다.

루니버스 사이드 체인 결제에 관하여

모든 Plan은 선불 결제로 해당 billing 화면에서 확인된 금액 만큼 즉시 선불 결제 되며, 이후 매달 1일 등록된 결제 수단으로부터 해당 Plan의 결제 금액이 선불 결제됩니다. 플랜 별 요금 정책 및 결제일에 관하여 더 많은 정보가 필요한 경우 Pricing & Billing페이지를 참조해주세요.