【发布时间】:2020-04-24 09:31:34
【问题描述】:
我想知道在以下场景 w.r.t HLFabric 中实施的可能性。
(A) 在 Org1 下有 peer0 和 peer1,在 Org2 下有 peer 0,在 Org3 下有 Peer0。
(B) 背书策略为 1-of(Org1 的 peer1,Org2 的 peer0,Org3 的 peer0)。
当我们尝试上述场景时,它在所有背书节点都启动并运行的情况下工作正常。但是,当我故意让 Org1 的 peer1 或 Org2 的 peer0 或 Org3 的 peer0 之一关闭时,只是为了模拟即使背书节点之一出现故障,区块链网络也能正常工作。但我观察到的是,如果所有对等点都未处于运行状态,则 putState 事务将失败。
请注意,我希望在来自不同地理区域或由不同网络管理的不同 Hyperledger Fabric 组织中运行单个对等点。在这种情况下,我想知道是否有任何背书节点出现故障,如何使区块链网络正常运行。
上面的场景可以实现吗?
【问题讨论】:
-
您如何制定该政策?政策是针对组织和角色的,而不是针对特定的同行......
-
如果我没有记错,请验证这是否是您的背书政策:
"OR('Org1MSP.peer', 'Org2MSP.peer', 'Org3MSP.peer')"。另外,请注意,正如 @kekomal 所建议的,您不能将政策推荐给组织内的特定同行。 -
我们在使用 sendInstantiateProposal 方法实例化链码时使用以下代码。 var req = {targets:'peer0.example.org', chaincodeId : 'clog' chaincodeVersion : 'v1' chaincodeType.. : 'node', args: , txId:tx_id, 'endorsement-policy':{identities:[{角色:{name:'member',mspId:'Org1MSP'}},{role:{name:'member',mspId:'Org2MSP'}},{role:{name:'member',mspId:'Org3MSP' }}],策略:{'1-of':[{'signed-by':0},{'signed-by':1,{'signed-by':2}}]}}}