我正在使用带有新客户端库结构网络的结构 2.1。我已经配置了网络、创建了通道、安装了链码等。我可以通过 CLI 调用事务。
结构版本:2.1 结构网络:2.1
我已将事件处理程序策略定义如下 1) 策略:DefaultEventHandlerStrategies.MSPID_SCOPE_ANYFORTX
2)策略:createTransactionEventHandler
await gateway.connect(ccp, {
wallet, identity: username, discovery: { enabled: true, asLocalhost: true }, transaction: {
strategy: DefaultEventHandlerStrategies.MSPID_SCOPE_ANYFORTX
}
});
当我提交交易时,在这两种情况下都会得到一个空缓冲区而不是交易 id(不确定我们是否得到 tx id)。
被调用的交易被添加到区块链中。我从 CouchDB 确认并查询资产。
> let result = await contract.submitTransaction(fcn, args[0], args[1],args[2], args[3], args[4]);
我尝试使用自定义事件处理程序,但未触发此功能。策略:createTransactionEventHandler
const createTransactionEventHandler = (transactionId, network) => { const mspId = network.getGateway().getIdentity().mspId; const myOrgPeers = network.getChannel().getEndorsers(mspId); console.log(`tx id : ${transactionId}`) return new MyTransactionEventHandler(transactionId, network, myOrgPeers); }
有没有人有什么建议?