2

Invoke API 正在接受事务并立即返回事务代码和 ok 状态。

该请求随后被处理,实际上可能被链码拒绝,或者分类帐添加可能因任何原因而失败。

检查链码是否成功处理交易并将结果添加到分类帐的最佳方法是什么?

4

1 回答 1

2

Fabric v0.6 调用是一个异步过程,获得任何成功或失败指示的唯一方法是借助内置事件框架。Fabric 协议规范的第 3.5 节包含事件相关信息 此事件框架生成 3 种事件。

  1. 阻止事件
  2. 拒绝事件
  3. 链码事件

如果您对检测成功的链码执行感兴趣,那么您应该跟踪Block events。您只需要监视包含您在提交 Invoke 事务时收到的 UUID 的块事件消息的发生。如果您想跟踪 Chaincode 故障,那么您还应该跟踪Rejection 事件。再次,将包含您的 UUID 的消息跟踪为 TxId。请注意,如果发生拒绝事件,则不会创建阻止事件。反之亦然。Fabric 示例有一个示例实现,可用于提供有关如何编写代码的想法。https://github.com/hyperledger/fabric/tree/master/examples/events/block-listener

请注意,从 Hyperledger Fabric v1.xx 开始,架构完全不同。以上答案是针对在 Hyperledger Fabric v0.6 的上下文中提出的问题给出的

于 2016-12-23T11:45:52.803 回答