1

チェーンコードをインストールしてインスタンス化するためのファブリック SDK を実装しました。すべてが正常に機能していますが、ファブリック nodedk で承認を実装するための正しい方法を理解できません。

コマンドの使用中に使用した承認ポリシーは次のとおりです。

peer chaincode ${CHAINCODE_ACTION} -o orderer.google.com:7050 \
    --tls --cafile ${ORDERER_CA} -C $CHANNEL_NAME \
    -n ${CHAINCODE_NAME} -l ${LANG} -v "$CHAINCODE_VERSION" \
    -c '{"Args":[]}' \
    -P "AND (OR('Org1MSP.peer', 'Org1MSP.client','Org1MSP.member','Org1MSP.admin'),
    OR ('Org2MSP.peer', 'Org2MSP.client', 'Org2MSP.member', 'Org2MSP.admin'))"

Nodesdkで同じことを実装したい場合、以下は残高転送の例から得たリファレンスです:

const request = {
      targets: [peer],
      chaincodeId: 'cc1',
      chaincodeType: 'java',
      chaincodeVersion: '7.0',
      txId: tx_id,

      // Use this to demonstrate the following policy:
      // The policy can be fulfilled when members from both orgs signed.
      'endorsement-policy': {
        identities: [
          {role: {name: 'member', mspId: 'Org1MSP'}},
          {role: {name: 'member', mspId: 'Org2MSP'}}
        ],
        policy: {'2-of': [{'signed-by': 0}, {'signed-by': 1}]}
      }
    };

組織間の AND 条件にすぎない 2-of を理解しています。0 と 1 で署名されているのは ID のインデックスです。しかし、Org メンバー、クライアント、管理者、ピアに OR 条件を追加するにはどうすればよいでしょうか?

これをさらに掘り下げるためのドキュメントは見つかりません。どんな助けでも大歓迎です。

4

1 に答える 1