Events 在Hyperledger结构中侦听自定义链码事件

Events 在Hyperledger结构中侦听自定义链码事件,events,hyperledger-fabric,hyperledger,Events,Hyperledger Fabric,Hyperledger,在链码中使用SetEvent()后,如何测试它? 是否存在一些工作示例 您可以创建一个正在侦听chaincode事件的应用程序 我建议您查看此链接的“链码事件侦听器”部分,这是官方的Hyperledger Fabric Nodejs SDK 首先,必须正确配置客户端。 一旦配置完毕: //... client configuration var channel = fabric_client.getChannel(); var eventHub = channel.getChannelEve

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

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

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

首先,必须正确配置客户端。 一旦配置完毕:

//... 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);
    }
);
/。。。客户端配置
var channel=fabric_client.getChannel();
var eventHub=channel.getchanneleventhubsforg()[0];
eventHub.connect(true);
eventHub.registerChaincodeEvent(链码ID、事件名称、,
(事件、块编号、txnid、状态)=>{
console.log('成功获取transid为'+txnid+'且状态为'+status'的链码事件);
console.log('成功接收到块号'+block_num'上的链码事件);
console.log(事件);
},
(错误)=>{
console.log('接收链码事件失败:'+错误);
}
);

我已经走了。这正是对我不起作用的东西。你有一个有效的例子吗?谢谢,我很快会测试它。我已经做了类似的事情,但我没有设置组织,让我们看看这是否是问题所在。不幸的是,仍然无法从事件中获取有效负载。event.payload未定义…必须设置连接以接收完整块。eventHub.connect(true);我没有在listener中获得有效负载:|您能同时分享您的
setEvent
代码吗