假设我在 Hyperledger Fabric 中有两个链码,ChaincodeA 和 ChaincodeB。
ChaincodeA 中的一些事件将不得不改变 ChaincodeB 中的状态,例如,改变其余额。如果invokeChaincode()
在 ChaincodeA 中使用来调用 ChaincodeB 中的某些逻辑,这些逻辑调用putState()
来更改 ChaincodeB 的状态,那么在达成共识时可能会发生任何竞争条件?处理此问题的最佳做法是什么?
假设我在 Hyperledger Fabric 中有两个链码,ChaincodeA 和 ChaincodeB。
ChaincodeA 中的一些事件将不得不改变 ChaincodeB 中的状态,例如,改变其余额。如果invokeChaincode()
在 ChaincodeA 中使用来调用 ChaincodeB 中的某些逻辑,这些逻辑调用putState()
来更改 ChaincodeB 的状态,那么在达成共识时可能会发生任何竞争条件?处理此问题的最佳做法是什么?
正如我低估了部署在两个不同通道上的两个链代码一样。chaincodeA 想调用chaincodeB 的方法。根据规范,它可能但仅用于读取操作。 https://godoc.org/github.com/hyperledger/fabric/core/chaincode/shim#ChaincodeStub.InvokeChaincode
你能分享一下你如何从chaincodeA调用另一个chaincodeB的代码吗?