gpt4 book ai didi

javascript - 如何在链代码中添加事件? ( super 账本结构)

转载 作者:行者123 更新时间:2023-12-02 23:27:23 25 4
gpt4 key购买 nike

我正在尝试使事件在 Hyperledger Fabric 中工作。我已在链代码中编写了 setEvent 函数,并在应用程序文件中添加了一个监听器 (addContractListener)。好像什么也没发生

在我的合约文件中,就在 putState 函数之后:

await this.ctx.stub.setEvent('event1', data);

在我的应用程序文件中,就在submitTransaction函数之后:

let eventTxn = await contract.addContractListener('some-string', 'trade-network',
(err, event, blkNum, txid, status) => {
console.log('event received', status, event, blkNum, txid);
if (err) {
this.emit('error', err);
} else if (status && status === 'VALID') {
// only if a valid block is committed should we emit an event
let evt = event.payload.toString('utf8');
evt = JSON.parse(evt);
if (Array.isArray(evt)) {
for(const oneEvent of evt) {
this.emit('ChaincodeEvent', oneEvent);
}
}
else {
this.emit('ChaincodeEvent', evt);
}
}
},
{filtered: false}
);

我已在我的契约(Contract)和应用程序中添加了上述代码行。在执行应用程序功能时,似乎没有发生任何事情,并且程序被卡住,没有返回任何响应。甚至“console.log”也没有执行,这意味着它没有完全进入函数。

我期待应用程序函数得到执行。有人可以指导我如何在 Hyperledger Fabric 中进行简单的事件吗?

最佳答案

可能链代码 event1 的事件名称与您正在监听的 trade-network 事件名称不匹配

关于javascript - 如何在链代码中添加事件? ( super 账本结构),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56679359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com