チェーンコードをインストールしてインスタンス化するためのファブリック 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 条件を追加するにはどうすればよいでしょうか?
これをさらに掘り下げるためのドキュメントは見つかりません。どんな助けでも大歓迎です。