监听Hyperledger Fabric中的自定义链码事件

时间:2018-07-17 13:51:41

标签: events hyperledger-fabric hyperledger

在链码中使用SetEvent()之后,如何进行测试? 是否存在一些工作示例?

1 个答案:

答案 0 :(得分:3)

您可以创建一个正在监听chaincode事件的应用程序。

我建议您看看此链接的“链代码事件侦听器”部分,这是官方的Hyperledger Fabric Nodejs SDK。

https://fabric-sdk-node.github.io/tutorial-channel-events.html

首先必须正确配置客户端。 配置完成后:

//... client configuration

var channel = fabric_client.getChannel();
var eventHub = channel.getChannelEventHubsForOrg(<NAME OF YOUR ORG>)[0];

eventHub.connect(true);
eventHub.registerChaincodeEvent(CHAINCODE_ID,EVENT_NAME,
    (event, block_num, txnid, status)=>{
        console.log('Successfully got a chaincode event with transid:'+ txnid + ' with status:'+status);
        console.log('Successfully received the chaincode event on block number '+ block_num);
        console.log(event);
    },
    (error)=>{
        console.log('Failed to receive the chaincode event ::'+error);
    }
);