2017-09-29 10 views
0

두 개의 Hyperledger 패브릭 인스턴스를 설치하고 다른 시스템을 실행합니다 (하나는 우분투, 다른 하나는 Windows에 있음). 이제 저는이 두 사람이 공무원을 공유하기를 원합니다.Hyperledger 패브릭의 두 인스턴스 연결

두 컴퓨터에서 동일하게 변경해야하는 변경 사항은 무엇입니까?

+0

주문 서비스는 어디에서 실행합니까? –

+0

인스턴스별로 무엇을 의미합니까? –

+0

@ArtemBarger 현재 두 컴퓨터 모두에서 주문 서비스를 실행 중입니다. – kots

답변

2

다음은 용어와 정의에서 시작하여 Hyperledger Fabric 네트워크 엔티티를 지정하는 것입니다.

  1. 네트워크 피어 - 체인 코드 (스마트 계약)를 유지하는 데 사용되며 원장의 사본과 최신 상태 업데이트를 유지합니다.
  2. 주문 서비스/합의 - 들어오는 거래의 총 주문을 지정하고 블록을 잘라내어 모든 피어간에 배포됩니다.

흐름은 다음과 같이 작동합니다

  1. 클라이언트는 동료를지지하는에 거래 제안서를 제출합니다.
  2. 피어를 인증하는 것은 chaincode를 호출하고 결과에 서명하여 트랜잭션을 시뮬레이트합니다.
  3. 서명 된 체인 코드 응답이 클라이언트에 다시 전송됩니다.
  4. 클라이언트는 모든 응답을 수집하고 주문
  5. 주문 서비스가 특정 기준에 따라 거래와 블록을 절단 서비스로 결과를 전송 - 일단 검증 검증
  6. 의 동료에 분산 트랜잭션 또는 블록 크기
  7. 블록의 수 피어와 주 정부의 지역 원장에게 위임 한 블록이 그에 따라 업데이트됩니다.

귀하의 사례로 돌아가서 귀하의 사례로 돌아가서 귀하의 사례로 돌아가서, 귀하는 두 개의 다른 조직이 있다는 것을 의미합니다. 따라서해야할 일은 다음과 같습니다.

  1. 거래 주문을 처리 할 위치를 정의/결정합니다.
  2. 두 조직으로 채널을 정의하십시오.
  3. configtx.yaml에는 주문 서비스의 주소를 지정해야합니다.
  4. 각 조직이 연결을 열고 하나의 피어 (peer)를 선출합니다 구성 트랜잭션에 endcoded되는 서비스 엔드 포인트를 주문 이후

이제 창세기 블록을 사용하여 두 조직의 모든 피어 가입 기원 블록을

  • 를 생성하는 채널 만들기 주문 서비스는 새로운 블록을 가져옵니다. 마지막으로이 리더는 자체 조직 내부에 블록을 배포합니다.

    요약하면 두 개의 "인스턴스"(여기서는 피어의 독립 세트라고 가정)를 연결하려면 동일한 채널에 연결해야하며 동일한 주문 서비스에 연결해야합니다.

  • +0

    위 시나리오는 정적 구성원 집합에 대한 선험적 지식을 전제로합니다. 커뮤니티는 어떻게 진화 할 수 있습니까? CA, 주문 서비스 및 인증 피어로 시작하는 경우 어떻게 조직에 채널을 동적으로 추가하거나 채널을 추가 할 수 있습니까? 또한 초기 배포 후에 조직에 피어를 더 추가 할 수 있습니다. Membership Service Provider가 있지만, Peers, Channels 및 Ordering Services가 초기 배포를 게시하는 요구 사항을 처리하는지는 확실하지 않습니다. – iandebeer

    +0

    사실은 여기에 선험적 지식을 전제로하지 않고 구성 업데이트 트랜잭션을 활용하여 새로운 조직을 추가 할 수 있습니다. 특정 시점에서 피어에 대한 새 암호 자료를 생성하고 조직의 루트 CA를 사용하여 인증서에 서명 한 다음 피어를 기존 채널에 조인 할 수 있습니다. 현재 Hyperledger 패브릭은 동적 성을 지원하고 새로운 조직 및 동료를 추가 할 수 있습니다. –

    +0

    @ArtemBarger 동료가 다른 컴퓨터에서 실행 중일 때 채널에 참여하기에 충분한 채널 조인 -b 가 적용됩니까? 또는 주문 서비스가이를 처리 할 것인가? – kots