* 본 포스팅은 하이퍼레저 패브릭 docs를 번역한 내용으로, 번역 과정에서 잘못된 부분이 있을 수 있습니다.

상세 내용은 하단 링크를 참조 부탁드리며, 잘못된 내용에 대한 피드백은 언제든 환영합니다 : ) 

https://hyperledger.github.io/composer/latest/business-network/business-network-index

 

Developing Business Networks | Hyperledger Composer

Developing Business Networks Developers use Hyperledger Composer to digitize business networks. The business network is accessed by multiple participants in the network, some of which may be responsible for the maintenance (hosting) of the network itself,

hyperledger.github.io

개발자들은 하이퍼레저 컴포저를 사용해 비즈니스 네트워크를 디지털화합니다. 비즈니스 네트워크는 네트워크 상 여러 참가자들에 의해 접근되며, 그들 중 일부는 네트워크 maintainers라고 불리며 네트워크 자체를 유지 (hosting) 하는 역할을 할 수도 있습니다. 

 

전형적으로 네트워크의 각 maintainer는 몇몇 피어 노드 (for crash fault tolerance) 를 운영하고, 하이퍼레저 패브릭은 피어 노드 집합의 분산 원장을 복제합니다.

 

Model

개발자들은 비즈니스 네트워크의 도메인 데이터 모델을 정의하기 위해 비즈니스 분석가와 함께 작업합니다. 데이터 모델은 Composer Modeling Language를 사용해 표현되고, 원장에 저장되거나 트랜잭션으로 처리되는 리소스 구조를 정의합니다.

 

도메인 모델이 한번 정의되면, 개발자들은 실행가능한 트랜잭션 처리 함수인 스마트 컨트랙트를 사용할 수 있으며, 이는 JavaScript로 작성됩니다.

 

Access Control

개발자들 혹은 기술분석가들은 비즈니스 네트워크의 접근 제어 규칙을 정의할 수 있습니다. 이를 통해 특정 조건 하에서 참가자들이 원장의 데이터에 접근할 수 있도록 할 수 있습니다.

 

Deploy

개발자들은 모델, 스크립트, 접근 제어 규칙을 배포가능한 비즈니스 네트워크 아카이브로 패키징합니다. 그리고 커맨드 라인 도구를 사용해 해당 아카이브를 테스트용 런타임에 배포합니다.

 

Test

모든 비즈니스 로직들처럼, 비즈니스 네트워크에 대한 단위테스트 및 시스템 테스트를 생성하는 것은 중요합니다. 개발자들은 유닛 테스트 (임베디드 런타임의 Node.js용) 를 위해 Mocha나 Chai같은 유명한 JavaScript 테스팅 프레임워크를 사용하거나 하이퍼레저 패브릭 시스템 테스트를 할 수 있습니다.

 

Integrate

비즈니스가 테스트되면, 프론트엔드 애플리케이션이 생성되어야 합니다. REST 서버를 사용해 비즈니스 네트워크에 대한 REST API를 자동으로 생성하고 Yeoman 코드 생성기를 통해 Angular 애플리케이션을 생성합니다.

 

REST 서버는 비즈니스 네트워크 내 참가자들의 인증을 설정할 수 있으며, 이는 자격 증명 및 사용 권한이 적용되도록 해줍니다.

                            

* 본 포스팅은 하이퍼레저 패브릭 docs를 번역한 내용으로, 번역 과정에서 잘못된 부분이 있을 수 있습니다.

상세 내용은 하단 링크를 참조 부탁드리며, 잘못된 내용에 대한 피드백은 언제든 환영합니다 : ) 

https://hyperledger.github.io/composer/latest/playground/id-cards-playground

 

Business Network Cards | Hyperledger Composer

Business Network Cards A Business Network Card provides all of the information needed to connect to a blockchain business network. It is only possible to access a blockchain Business Network through a valid Business Network Card. A Business Network Card co

hyperledger.github.io

비즈니스 네트워크카드는 블록체인 비즈니스 네트워크에 연결하는데 필요한 모든 정보들을 담고 있습니다. 블록체인 비즈니스 네트워크로의 접근은 유효한 비즈니스 네트워크 카드로만 가능합니다. 비즈니스 네트워크 카드는 배포된 비즈니스 네트워크 내 single 참가자용 identity를 포함하고 있습니다. 비즈니스 네트워크 카드는 하이퍼레저 컴포저 플레이그라운드에서 배포된 비즈니스 네트워크데 연결할 때 사용됩니다. 하나의 비즈니스 네트워크에 대해 여러 개의 비즈니스 네트워크 카드를 가질 수도 있으며, 여러 개의 비즈니스 네트워크 카드들은 여러 참가자들이 소유하고 있습니다.

 

비즈니스 네트워크 카드는 Connection Profile 하에 그룹화됩니다. 또 각 카드는 표시된 identity로 Connect now 옵션을 통해 접속할 수 있는 비즈니스 네트워크를 보여줍니다. 비즈니스 네트워크 카드는 카드에 나타난 아이콘을 사용해 삭제되거나 export될 수 있습니다.

 

아래 예시 그림은 'my-business-network'라는 비즈니스 네트워크에 'New User' Identity를 사용해 접속할 수 있는 비즈니스 네트워크 카드입니다.

비즈니스 네트워크 카드는 플레이그라운드 내에서 identity가 발행될 때 생성됩니다. 이 비즈니스 네트워크 카드는 다른 사람들에게 공유되거나 export될 수 있으며 이를 통해 다른 사람들이 발행된 identity를 사용해 비즈니스 네트워크에 접속할 수 있게 해줍니다. 만약 어떤 사용자가 관리자에 의해 비즈니스 네트워크 내 유효한 identity에 대응하는 등록된 ID와 Secet을 부여받았다면, 비즈니스 네트워크 카드는 플레이그레운드에 표시될 것입니다. 직접 비즈니스 네트워크를 생성하는 것 또한 가능합니다.

 

Creating a peer admin card using Playground

처음으로 하이퍼레저 패브릭 객체에 비즈니스 네트워크를 배포하기 위해서는 관련된 하이퍼레저 패브릭 피어에 하이퍼레저 컴포터 체인코드가 설치되어야 합니다. 그 다음 채널에서 비즈니스 네트워크를 객체화합니다. 이 과정에는 피어나 채널 관리자에 의한 하이퍼레저 패브릭의 특별한 권한이 필요합니다.

 

피어 관리자 비즈니스 네트워크 카드는 하이퍼레저 컴포저 비즈니스 네트워크를 하이퍼레저 패브릭 객체에 배포하기 위해 생성되어야 합니다. 피어 관리자 비즈니스 네트워크 카드를 만들기 위해서는:

  1. My Business Networks 화면에서 Create a Business Network Card를 선택하세요.
  2. Hyperledger Fabric v1.2를 선택한 다음 Next를 클릭하세요.
  3. connection profile의 상세화면으로 들어갑니다. connection profile을 생성하는 것에 대한 더 자세한 내용은 아래 Deploying a Hyperledger Composer blockchain business network to Hyperledger Fabric for a single organization 내용을 참고하세요. Next를 클릭합니다.
  4. Certificates를 선택한 후 피어 관리자 신원에 대한 certificate와 private key 정보를 업로드하세요. 마찬가지로 Deploying a Hyperledger Composer..... 아래 링크에서 올바른 certificate를 찾는 방법을 알려줍니다. 
  5. 비즈니스 네트워크 카드의 이름을 입력하세요.
  6. Admin Card를 선택한 다음 Peer Admin과 Channel Admin을 선택하세요.
  7.  Next를 클릭하세요.

 

 

https://ralee-world.tistory.com/entry/Deploying-a-Hyperledger-Composer-blockchain-business-network-to-Hyperledger-Fabric-for-a-single-organization?category=719808

 

Deploying a Hyperledger Composer blockchain business network to Hyperledger Fabric for a single organization

* 본 포스팅은 하이퍼레저 패브릭 docs를 번역한 내용으로, 번역 과정에서 잘못된 부분이 있을 수 있습니다. 상세 내용은 하단 링크를 참조 부탁드리며, 잘못된 내용에 대한 피드백은 언제든 환영합니다 : ) http..

ralee-world.tistory.com

피어 관리자 카드는 이제 My Business Networks 화면에 나타납니다. 이제 플레이그라운드를 사용해비즈니스 네트워크를 하이퍼레저 패브릭 객체에 배포할 수 있습니다.

 

 

Providing Access To Your Business Network With a Business Network Card

비즈니스 네트워크에 대한 접근 권한은 비즈니스 네트워크 카드를 통해 다른 사용자에게 부여될 수 있습니다. 비즈니스 네트워크 카드가 한번 생성되면 카드를 생성한 사용자에게 export하거나 제공할 수 있습니다.

 

비즈니스 네트워크 카드를 생성하는데 필요한 Identity를 bind하기 위해서는 비즈니스 네트워크 내 participant가 존재해야 합니다.

 

플레이그라운드로 identity가 발행될 때, Business Networks 화면에서 사용할 수 있도록 identity를 저장하는 옵션이 있습니다. 이 옵션을 선택하면 현재 비즈니스 네트워크에 유효한 발행된 identity에 대한 비즈니스 네트워크 카드가 생성됩니다. 로그아웃할 경우 비즈니스 네트워크 카드는 Business Networks 화면에 나타나며, 이 위치에서 export하거나 다른 사용자와 공유할 수도 있습니다.

 

Creating a Business Network Card

  1. Business Networks 화면에서 비즈니스 네트워크에 접속할 identity를 선택하세요. (주의: 새로운 identity 생성 권한을 가진 identity를 선택해야 합니다.)
  2. 필요할 경우, identity를 할당할 새 participant를 생성하세요.
    • Test 탭을 선택하고 Create New Participant를 클릭하세요.
    • Participant 정의를 작성한 다음 Create New를 클릭하세요.
  3. 우측 상단의 identity 이름을 선택하고 드롭다운 메뉴에서 ID Registry를 클릭하세요.
  4. +Issue New ID를 클릭하세요.
  5. ID Name을 선택하고 새 Identity와 연결할 기존 participant를 집어넣으세요. 알려진 참가자를 자동완성 하기위해 미리보기 서비스가 제공됩니다.
  6. Create New를 클릭하세요.
  7. Add to My Wallet을 클릭하세요. 비즈니스 네트워크 카드를 Business Networks 페이지에 추가함으로써 비즈니스 네트워크에 접속하거나 다른 사람이 사용할 수 있게 하기 위해 export할 수 있습니다.

Business Networks 화면은 이제 새 비즈니스 네트워크 카드를 보여줍니다.

 

Exporting a Business Network Card

비즈니스 네트워크 카드는 플레이그라운드의 Business Networks 페이지에서 export됩니다. 이는 export하고자하는 비즈니스 네트워크 카드와 한 단계의 상호작용으로 이루어집니다.

  • Business Networks 페이지에서 export하고자 하는 비즈니스 네트워크 카드의 Export 아이콘을 클릭하세요. 비즈니스 네트워크 카드는 .card 파일로 다운로드될 것입니다.

주의: 예를 들어 새로운 참가자에게 보내기 위해 한번도 사용된 적이 없는 비즈니스 네트워크 카드를 export한다면, Participant의 신원을 확인하는데 사용되는 certificate와 private key를 획득하기 위해 등록 ID와 Secret을 포함해야 합니다. 반대로 이전에 사용된 적 있는 비즈니스 네트워크 카드를 export한다면, 이미 certificate와 private key를 포함하고 있습니다. Participant와 Identity에 관한 더 많은 정보를 확인하려면 아래 링크를 참고하세요.

https://hyperledger.github.io/composer/latest/managing/participantsandidentities.html

 

Participants and identities | Hyperledger Composer

Participants and identities Concepts A Participant is an actor in a business network. A participant might be an individual an organization. A participant can create assets, and also exchange assets with other participants. A participant works with assets b

hyperledger.github.io

중요: export된 identity 카드는 주의해서 다뤄야 합니다. 왜냐하면 이는 보호되지 않은 credential을 포함하고 있기 때문입니다. encrypt된 identity 카드만 보내는 것을 추천합니다.

 

 

Gaining Access To A Business Network

Importing a Business Network Card

비즈니스 네트워크 카드를 import하면 배포된 비즈니스 네트워크에 접속할 수 있습니다.

  1. Business Networks 화면에서 우측 상단의 Import Business Network Card를 클릭하세요.
  2. import할 비즈니스 네트워크 카드(.card) 파일을 드래그앤드랍하거나 찾아보기를 통해 선택하고 import를 클릭하세요.

비즈니스 네트워크 카드가 Business Networks 화면에 표시됩니다. 이제 배포된 비즈니스 네트워크에 접속할 수 있습니다.

 

Connecting using Credentials

Business Networks 화면에서 비즈니스 네트워크 카드를 생성하는 두 가지 방법이 있습니다.

 

비즈니스 네트워크 카드는 다음 항목을 요구하는 인증을 사용해 생성될 수 있습니다.

  • certificate & private key: 비즈니스 네트워크 관리자에 의해 제공
  • name: 비즈니스 네트워크 카드 이름
  • business network name: credentials이 유효한 비즈니스 네트워크 이름
  • connection profile: 대상 비즈니스 네트워크가 배포되는 런타임에 대한 세부정보

Business Networks 화면에서 certificates를 사용해 비즈니스 네트워크를 생성하려면 다음 절차를 따릅니다.

  1. certificate와 private key를 받은 다음, Business Networks 페이지 우측 상단 Connect using credentials 버튼을 클릭합니다. 
  2. 배포된 런타임에서 이미 접속한 적이 있다면 화면에 나타난 리스트 중 그것을 클릭하고 Next를 선택한 후 4번으로 넘어갑니다. 접속한 적이 없다면 새 블록체인에 접속하는 radio옵션을 선택하고 Next를 선택합니다.
  3. Connection Profile 세부사항을 명시하고 Save를 누릅니다.
  4. certificate와 private key, 비즈니스 네트워크 카드 이름, 비즈니스 네트워크 이름을 입력한 후 Create를 클릭합니다.

비즈니스 네트워크 카드가 Business Networks 화면에 표시됩니다.

 

Manually Creating Business Network Card

비즈니스 네트워크 카드는 3가지 요소를 포함한 아카이브(.zip) 파일입니다.

  • Connection Profile (.json)
  • 비즈니스 네트워크에 접속하는데 사용되는 identity에 대한 정보를 포함하는 메타데이터 (metadata.json)
  • (optional) certificate와 private key를 포함하는 credential 폴더

주의: credentials 폴더가 없다면, 메타데이터 파일은 enrollmentSecret이라는 필드에 Enrollment Secret 속성을 갖고 있어야 합니다. enrollmentSecret이 명시되면 certificate를 가진 credentials 폴더가 생성되며 비즈니스 네트워크 카드가 export될 때 사용됩니다.

 

메타데이터 파일은 아래 형식을 따라야 합니다.

{
    "name": "PeerAdmin",
    "description": "A valid Business Network Card",
    "businessNetwork": "basic-sample-network",
    "enrollmentId": "UserID",
    "enrollmentSecret": "UserSecret",
    "roles": [

    ]
}

businessNetworkName, image, enrollmentSecret, roles 속성은 optional입니다. 사용가능한 roles는 PeerAdmin 또는 ChannelAdmin입니다.

 

비즈니스 네트워크 카드 파일을 생성하려면 Connection Profile, 메타데이터 파일, 그리고 선택적으로 credentials 폴더를 압축하세요. 그리고나서 파일 유형을 .card로 변경합니다.

 

비즈니스 네트워크 카드는 이제 하이퍼레저 컴포저 플레이그라운드를 사용해 import되었습니다.

* 본 포스팅은 하이퍼레저 패브릭 docs를 번역한 내용으로, 번역 과정에서 잘못된 부분이 있을 수 있습니다.

상세 내용은 하단 링크를 참조 부탁드리며, 잘못된 내용에 대한 피드백은 언제든 환영합니다 : ) 

https://hyperledger.github.io/composer/latest/playground/playground-index

 

Using Playground | Hyperledger Composer

Using Playground The Hyperledger Composer Playground provides a user interface for the configuration, deployment and testing of a business network. Advanced Playground features permit users to manage the security of the business network, invite participant

hyperledger.github.io

Using Playground

하이퍼레저 컴포저의 플레이그라운드는 비즈니스 네트워크 환경설정, 배포, 테스팅에 대한 사용자 인터페이스를 제공합니다. 이외 플라이그라운드의 고급기능은 사용자가 비즈니스 네트워크 보안을 관리하게 해주거나, 비즈니스 네트워크에 참가자들을 초대하거나 여러 블록체인 네트워크를 연결할 수 있도록 해주기도 합니다.

 

플레이그라운드를 처음 사용한다면, 아래 플레이그라운드 튜토리얼을 추천합니다. 해당 튜토리얼은 비즈니스 네트워크 카드로 상호작용하기 전 새로운 블록체인 비즈니스 네트워크를 생성하고 배포하고 테스트하는 방법을 알려줍니다.

https://ralee-world.tistory.com/entry/Hyperledger-Composer-Playground-Tutorial?category=719808

 

Composer Playground Tutorial

* 본 포스팅은 하이퍼레저 패브릭 docs를 번역한 내용으로, 번역 과정에서 잘못된 부분이 있을 수 있습니다. 상세 내용은 하단 링크를 참조 부탁드리며, 잘못된 내용에 대한 피드백은 언제든 환영합니다 : ) http..

ralee-world.tistory.com

주의: 두 명 이상의 사용자가 하이퍼레저 컴포저 플레이그라운드를 사용해 동일한 하이퍼레저 패브릭 객체에 접속하려 한다면, 각 사용자는 비즈니스 네트워크 정의가 다른 유저에 의해 업데이트 된 후 브라우저를 새로고침해야만 합니다. 브라우저를 새로고침하면 다른 사용자에 의해 변경된 비즈니스 네트워크 정의가 반영됩니다. 다른 사용자가 변화한 내용을 업데이트하지 않고 비즈니스 네트워크를 변경하면, 해당 내용은 손실됩니다.

 

Navigating Playground

The Business Networks page

비즈니스 네트워크 페이지는 플레이그라운드를 시작하는 기본 화면입니다. 여기서 사용할 수 있는 모든 비즈니스 네트워크 카드를 볼 수 있습니다. 각 비즈니스 네트워크 카드는 블록체인 비즈니스 네트워크에 접속하는데 필요한 모든 정보를 갖고 있습니다. 유효한 비즈니스 네트워크 카드로만 블록체인 비즈니스 네트워크에 접속할 수 있습니다. 한번 배포된 비즈니스 네트워크에 접속하면 Define 페이지를 볼 수 있습니다.

이 페이지에서 할 수 있는 것들은 다음과 같습니다:

  • 비즈니스 네트워크에 접속하기. 이미 배포된 비즈니스 네트워크와 그에 대한 비즈니스 네트워크 카드가 준비되었다면, 해당 비즈니스 네트워크에 접속하기 위해 Connect now를 클릭할 수 있습니다.
  • 비즈니스 네트워크 배포하기. 플레이그라운드를 처음 사용하거나 새로운 네트워크를 시작하려 한다면 자신만의 네트워크를 시작할 수 있습니다. 새로운 비즈니스 네트워크를 시작할 때 샘플 네트워크를 기반으로 비즈니스 네트워크를 정의하거나 작업물에서 스스로 생성할 수도 있습니다.
  • 비즈니스 네트워크 카드로 상호작용하기. 비즈니스 네트워크 카드는 이미 존재하는 비즈니스 네트워크에 접속하는데 사용됩니다. 또한 비즈니스 네트워크 카드는 connection profile과 identity의 조합입니다. 이 카드는 identity나 카드를 삭제하거나, 카드를 export하거나, 대응하는 비즈니스 네트워크에 연결하는 기능을 제공합니다.
  • 비즈니스 네트워크 카드 import하기. 컴퓨터에 있는 .card 파일을 import하는 가장 간단한 방법은 비즈니스 네트워크 페이지에서 비즈니스 네트워크 카드를 추가하는 것입니다.
  • user ID와 secret 사용해서 접속하기. 네트워크 관리자로부터 ID와 secret을 부여받았다면, Connect using credentials를 클릭해서 접속하고 비즈니스 네트워크 카드를 생성할 수 있습니다.
  • 플레이그라운트 튜토리얼을 사용해 실행하기. 어디서부터 시작해야할지 모르겠다면 플레이그라운드 튜토리얼을 통해 비즈니스 네트워크를 새엇ㅇ하고 기본 동작들을 수행해볼 수 있습니다.

 

Business network options

비즈니스 네트워크 카드를 사용해 한번 비즈니스 네트워크에 접속하면, Define 탭이나 Test 탭에 사용할 수 있는 여러가지 옵션들이 있습니다.

  • 좌측 상단은 사용중인 connection profile 이름이며 접속한 비즈니스 네트워크입니다. 위의 예제에서 connection profile은 Web이라 불리고 비즈니스 네트워크 이름은 basic-sample-network입니다.
  • Define 및 Test 탭으로의 링크. Define 탭에서는 비즈니스 네트워크 내용을 추가, 수정, 삭제할 수 있고, Test 탭에서는 Define 탭에 정의되어 있는 asset이나 participant를 생성할 수 있으며, 비즈니스 네트워크의 기능들을 테스트 할 수 있습니다.
  • 우측 상단의 드롭다운메뉴는 비즈니스 네트워크에 접속하는데 사용되는 identity를 나타냅니다. 드롭다운메뉴는 Identity Registry에 대한 링크를 포함합니다. 또 비즈니스 네트워크에서 로그아웃하고 비즈니스 네트워크 페이지로 돌아갈 수도 있습니다.

 

The Define tab

Define 탭은 비즈니스 네트워크를 생성, 편집, 수정하는데 사용됩니다.

Define탭의 왼쪽은 현재 비즈니스 네트워크 정의 파일 리스트를 나타냅니다. 파일 내용을 보려면 파일을 클릭하면 되고, 그러면 편집모드로 나타납니다. Add a file 버튼을 통해 비즈니스 네트워크에 새로운 파일을 추가할 수도 있습니다. 모델파일, 스크립트파일, 접근제어파일, 쿼리파일이 비즈니스 네트워크에 추가될 수 있습니다.

 

비즈니스 네트워크 정의에 파일을 추가하거나 수정하면 네트워크에 변경된 내용을 Deploy changes 버튼을 통해 변경된 내용을 배포할 수 있습니다. Deploy changes 버튼을 누른 후에는 Test 탭에서 변경된 내용을 시험해볼 수 있습니다. Export 버튼은 현재 비즈니스 네트워크를 .bna 파일로 다운로드할 수 있게 해줍니다.

 

주의: 두 명 이상의 사용자가 하이퍼레저 컴포저 플레이그라운드를 사용해 동일한 하이퍼레저 패브릭 객체에 접속하려 한다면, 각 사용자는 비즈니스 네트워크 정의가 다른 유저에 의해 업데이트 된 후 브라우저를 새로고침해야만 합니다. 브라우저를 새로고침하면 다른 사용자에 의해 변경된 비즈니스 네트워크 정의가 반영됩니다. 다른 사용자가 변화한 내용을 업데이트하지 않고 비즈니스 네트워크를 변경하면, 해당 내용은 손실됩니다.

 

 

The Test tab

Test 탭은 Define 탭에서 정의한 asset, participant, transaction를 사용해 배포된 비즈니스 네트워크를 테스트할 수 있습니다.

Test 탭의 왼족에는 각 participant와 asset 타입이 나열되어 있습니다. participant, asset 혹은 All Transactions를 클릭하면 해당 타입에 활성화되어있는 모든 객체를 보여주는 registry가 나옵니다. 예를 들어 SampleParticipant를 클릭하면 생성된 모든 SampleParticipants를 보여주는 registry가 나옵니다. 많일 Test탭을 처음 사용한다면 registry들은 비어있을 것입니다.

 

각 registry에서 대응하는 asset, participant를 생성하거나 transaction을 제출할 수 있습니다.

 

All transactions registry는 Historian이라고도 알려져 있습니다. 여기서는 비즈니스 네트워크에서 발생하는 각 트랜잭션 기록을 확인할 수 있으며, 이 기록은 participant나 asset 생성같은 시스템 이벤트도 포함합니다. transaction registry에서는 트랜잭션을 제출하고 어떤 리소스가 변경되었는지 확인함으로써 그 트랜잭션의 영향을 확인할 수 있습니다.

+ Recent posts