我正在运行一个拥有4个对等体的HLF网络,每个对等体来自不同的组织,一个kafka orderer和一个zookeeper服务。 我的网络似乎运行正常,但有一个例外:我可以调用链代码,但是状态更新似乎没有被调用链代码的对等方记录。换句话说,如果我使用来自对等方A的某些链代码更新状态,则使用来自对等方B的某些链代码查询状态将返回" null",但是来自链代码的相同查询(完全相同的代码)由peer A将正确返回状态。
这是正常的吗?我假设分类帐的状态独立于链代码运行,或者状态是否真的是链代码状态?
编辑:我已经测试过在对等体B上安装对等体A的链代码,一旦完成,就可以根据需要查询状态。由于我使用不同的链代码来控制谁可以调用哪些函数,有没有办法限制可以在链代码中调用哪些函数?
答案 0 :(得分:0)
使用安装的链代码编写的数据仅特定于该链代码。 如果你想从链码B访问chaincodedata-A,你必须在内部调用链码B中的链码A(假设,链码A和B属于同一个通道)。
您希望如何限制链代码调用?如果它基于用户/角色级别,您可以根据链代码中的用户属性进行检查,并相应地做出决策。 (但这是v1.1功能)