Политика поддержки Hyperledger / Fabric для одной организации с 5 участниками - PullRequest
0 голосов
/ 03 декабря 2018

Я разработал сеть для одной организации с 5 пирами, используя приложение nodejs, но я немного запутался с политикой одобрения.Я хочу, чтобы по крайней мере 3 пира одобрили сделку.Как я должен определить, если по крайней мере 3 пира должны одобрить транзакцию.

Это то, как я пытаюсь сделать, но его сбой.пока вызываю.Может кто-нибудь, пожалуйста, помогите мне с этим,

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

Но вышеупомянутый подход действительно не работает для меня.Может кто-нибудь, пожалуйста, предложить по этому поводу.

1 Ответ

0 голосов
/ 03 декабря 2018

Если вы не хотите написать собственный плагин одобрения , минимальная степень детализации, которую вы можете использовать для политик одобрения в Hyperledger Fabric, - это организация.Итак, для того, чтобы ваш пример работал, каждый участник должен быть в отдельной организации.Используя синтаксис командной строки peer, политика будет выглядеть примерно так:

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 }
    ]
  }
}
...