Hyperledger/fabric 一个组织有 5 个同行的背书政策

Hyperledger/fabric Endorsement policy for one organisation with 5 peers

我已经使用 nodejs 应用程序为一个有 5 个同行的组织开发了网络 但我对背书政策有点困惑。我希望至少有 3 个同行为交易背书。我应该如何定义至少 3 个同行是否必须认可交易。

这就是我想做的,但失败了。在调用时。有人可以帮我吗,

'endorsement-policy': {
    identities: [
       { role: { name: 'peer', mspId: 'Org1MSP' } },
    ],
    policy: {
        '1-of': [ 
            { 'signed-by': 0 }
        ]
   }
}

但是上面的方法对我来说并不奏效。有人可以对此提出建议吗?

除非你想 write your own endorsement plugin,否则你可以在 Hyperledger Fabric 中用于背书策略的最低粒度是组织。因此,为了使您的示例起作用,每个同行都需要在一个单独的组织中。使用 peer 命令 CLI 语法,策略将类似于:

OutOf(3, 'Org1.peer', 'Org2.peer', 'Org3.peer', 'Org4.peer', 'Org5.peer')

或者,在 JSON 中:

'endorsement-policy': {
  identities: [
    { role: { name: 'peer', mspId: ORGS['Org1'].mspid }},
    { role: { name: 'peer', mspId: ORGS['Org2'].mspid }},
    { role: { name: 'peer', mspId: ORGS['Org3'].mspid }},
    { role: { name: 'peer', mspId: ORGS['Org4'].mspid }},
    { role: { name: 'peer', mspId: ORGS['Org5'].mspid }}
  ],
  policy: {
    '3-of': [
      { 'signed-by': 0 }, 
      { 'signed-by': 1 }, 
      { 'signed-by': 2 }, 
      { 'signed-by': 3 }, 
      { 'signed-by': 4 }
    ]
  }
}