2016-11-23 7 views

답변

1

그것은 응용 프로그램에 대해 듣고에 조치를 취할 수있는 네트워크의 이벤트를 방출 할 수있는 동료 및 chaincodes 유효성 검사 이벤트 https://github.com/hyperledger/fabric/blob/master/docs/protocol-spec.md#35-events

를 사용하는 것이 좋습니다. 미리 정의 된 이벤트 집합이 있고 체인 코드는 사용자 지정 이벤트를 생성 할 수 있습니다. 이벤트 은 하나 이상의 이벤트 어댑터에서 사용됩니다. 어댑터는 웹 후크 또는 카프카 (Kafka)와 같은 다른 차량을 사용하여 이벤트를 전달할 수 있습니다.

응용 프로그램은 Fabric의 이벤트 스트림을 구독하고 체인 코드로 생성되는 메시지를 수신 할 수 있습니다.

이벤트와 함께 작업하는 방법에 대한 예는 여기에서 찾을 수 있습니다 : https://github.com/hyperledger/fabric/tree/master/examples/events/block-listener

+1

블록 리스너를 호출하는 동안 체인 코드 ID를 전달해야합니다. 정확합니까? 배포하는 동안 사용되는 체인 코드의 이름? 또는 다른 것? 예제를 제공해 주시겠습니까? –

+1

체인 코드 이벤트에서 어떤 정보를 얻을 수 있습니까? 나는 초조함과 골란에 익숙하지 않습니다. –

+0

링크 @ 시작 : - https://github.com/hyperledger/fabric/blob/c0ce696/docs/protocol-spec.md#35-events – Abhi

1

이 세르게이의 대답에 추가하려면, 이벤트의 3 종류가 있습니다.

  1. 원장 변경시 생성되는 블록 이벤트.
  2. 오류가 발생하면 생성 된 거부 이벤트 (사용자 체인 코드 또는 시스템 체인 코드에서)
  3. CHAINCODE EVENT는 사용자 체인 코드로 이벤트를 생성 할 수있는 사용자 핸들입니다. 당신은 이벤트 리스너/클라이언트가 당신의 말에 실행 gRPC 포트에서 수신 할 수

[호출 당 하나의 CHAINCODE 이벤트가 현재 디자인에 따라 허용되는 눈치 이상한 일이있다, (당신은 얻을 수 있습니다 포트 core.yaml 파일에서) 또는 심지어 세르게이 언급 한 예제를 참조 할 수 있습니다.

귀하의 경우, 귀하가 성공적인 거래를 찾고 있다고 생각합니다. 이 경우 BLOCK 이벤트 및 REJECTION 이벤트에서 수신 대기해야합니다. 호출이 트리거되었을 때 수신 한 트랜잭션 UUID를 사용하여 이벤트를 검사하고 일치 할 때 조치를 트리거 할 수 있습니다. 트랜잭션이 거부 이벤트로 나타나면 블록 이벤트가 발생하지 않습니다. 희망이 도움이됩니다.