如图所示,在Hyperledger Fabric网络中考虑组织对等设置。
组织1有两个对等体,组织2有一个对等体-所有这些对等体都存在于同一通道中-X。组织3具有一个对等体,它们存在于同一个通道之外。
对等方具有各自不同的链码(c1,c2,c3和c4),并具有上述功能。
write() - put a key-value pair into the ledger
update() - update a value for an existing key
read() - query an existing key-value pair
现在有几个问题。
update()
功能)吗?update()
功能)?c3.read()
是否可以查询c1.write()
创建的数据?c4.read()
可以查询c1.write()
创建的数据吗? c2.update()
是否可以更新c1.write()
创建的数据? 答案 0 :(得分:2)
对等只能执行已安装并有权访问(本地)的链码。给定对等方可以有多个链码,但是对等方不能执行其他对等方的链码。
摘自https://fabric-shim.github.io/ChaincodeStub.html#invokeChaincode__anchor的ChaincodeStub.invokeChaincode(chaincodeName, args, channel)
文档:
使用相同的事务上下文在本地调用指定的链码invoke();也就是说,chaincode调用chaincode不会创建新的交易消息。
您应该能够为所有对等方安装每个链码,并使用ChaincodeStub.invokeChaincode
方法和ClientIdentity
类(https://fabric-shim.github.io/ClientIdentity.html)来进行访问控制。