我已经实现了 fabric sdk 来安装和实例化链码。一切正常,但无法弄清楚在结构节点dk中实施背书的正确方法
这是我在使用命令时使用的背书策略:
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'))"
如果我想在nodedk中实现相同的功能,下面是我从余额转移示例中获得的参考:
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}]}
}
};
我知道 2-of 只是组织之间的 AND 条件。由 0 和 1 签名的是身份的索引。但是我们如何在 Org member、client、admin、peer 中添加 OR 条件呢?
我没有找到任何文档来深入研究这一点。任何帮助都感激不尽。