2016-09-26 6 views
2

Invoke API가 트랜잭션을 수락하고 트랜잭션 코드와 ok 상태를 즉시 반환합니다.거래 상태를 확인하는 가장 좋은 방법은 무엇입니까?

요청은 이후에 처리되며 실제로 체인 코드에 의해 거부되거나 원장 추가가 실패 할 수 있습니다.

거래가 chaincode에 의해 성공적으로 처리되고 결과가 원장에 추가되었는지 확인하는 가장 좋은 방법은 무엇입니까?

답변

2

Fabric v0.6 호출은 비동기 프로세스이며 성공 또는 실패의 표시를 얻는 유일한 방법은 기본 제공 이벤트 프레임 워크의 도움을받는 것입니다. Section 3.5 of Fabric Protocol Specification contains Event related information 이 이벤트 프레임 워크는 3 가지 종류의 이벤트를 생성합니다.

  1. 블록 이벤트
  2. 거부 ​​이벤트
  3. Chaincode 이벤트
  4. 성공적인 chaincode 실행을 감지에 관심이 있다면

는, 당신은 블록 이벤트에 대한 추적한다. Invoke 트랜잭션을 제출할 때받은 UUID를 포함하는 Block Event Message의 발생을 모니터링해야합니다. 체인 코드 오류를 추적하려면 거부 ​​이벤트도 추적해야합니다. 다시 말하지만 UUID가 포함 된 메시지를 TxId로 추적하십시오. 차단 이벤트가 발생하면 차단 이벤트가 생성되지 않습니다. 그 반대. 패브릭 예제에는 코드 작성 방법에 대한 아이디어를 제공하는 데 사용할 수있는 샘플 구현이 있습니다. https://github.com/hyperledger/fabric/tree/master/examples/events/block-listener

Hyperledger Fabric v1.x.x부터 아키텍처가 완전히 다릅니다. 위 답변은 Hyperledger Fabric v0.6의 문맥에서 묻는 질문에 주어졌습니다.

관련 문제