gpt4 book ai didi

go - 无法在每个事务的链代码中设置多个事件,只获取最后一个事件

转载 作者:数据小太阳 更新时间:2023-10-29 03:34:35 27 4
gpt4 key购买 nike

我在链代码 (Hyperledger Fabric v1.1) 的函数中应用了多个事件。

func (t *SimpleChaincode) initUsers(stub shim.ChaincodeStubInterface, args []string) pb.Response {
...
//Event supplier_bare
err = stub.SetEvent("supplier_bare", userAsbytes)
if err != nil {
return shim.Error(err.Error())
}
//Event supplier_bare_1
err = stub.SetEvent("supplier_bare_1", userAsbytes)
if err != nil {
return shim.Error(err.Error())
}
...
return shim.Success(nil)
}

当我调用该函数时,我只获得每笔交易的最后一个事件(“supplier_bare_1”)。

交易(事件):

...
"events": {
"chaincode_id": "mycc10",
"tx_id":"5421ae37d6e1947b7121f411d64dc215ccacbe45b2d0a9c796cc4a3715c922d6",
"event_name": "supplier_bare_1",
"payload": {
"type": "Buffer",
"data": [
...
]
}
},
...

链码是这样工作的,还是有不同的方法在一个函数中实现多个事件。

最佳答案

从 shim 代码来看,shim 中只有一个槽用于链代码事件,因此只有最后一次调用 setEvent 才会生效。

关于go - 无法在每个事务的链代码中设置多个事件,只获取最后一个事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50344232/

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