如果同行使用相同的链码,那么认可政策背书是否有可能会有所不同?

时间:2018-01-05 01:13:08

标签: hyperledger-fabric hyperledger

我会问你下面的认可政策示例

peer chaincode instantiate -C <channelid> -n mycc -P "AND('Org1.member', 'Org2.member')"

我的理解(承诺)

  • Org1.member或Org2.member指Peer。
  • 该示例意味着Org1.member和Org2.member必须获得与实例化mycc相同的结果。

问题

  1. 如果Org1.member和Org2.member有相同的链码,那么他们的 结果有所不同?
  2. Org1.member和Org2.member是指组织的一个同行吗? (2-1。如果是,同伴是否随机设置在组织上?)
  3. 我可以使用正则表达式,例如“AND('Org1.member&gt; 10','Org2.member&gt; 10')”

1 个答案:

答案 0 :(得分:0)

我希望您已经提到了关于代言的面料文档。如果没有,请在此处找到endorsement-policies

  

根据MSP描述委托人,该委员会的任务是验证签名者的身份以及签名者在该MSP中的角色。目前,支持两种角色:成员和管理员。 Principal被描述为MSP.ROLE,其中MSP是所需的MSP ID,ROLE是两个字符串成员和admin之一。有效主体的例子是&#39; Org0.admin&#39; (Org0 MSP的任何管理员)或者&#39; Org1.member&#39; (Org1 MSP的任何成员)。

AND(Org1.member,Org2.member)意味着为了成功认可,发送给Orderer(来自客户端SDK)的交易提议响应预计将由org1的Peer成员证书和成员证书签署org2的同行

  1. 如果您的链代码是非确定性的(即,说它获取当前时间等和putState()),则可能会有不同的结果。所以写集可以是不同的。

  2. Org1.member&amp; Org2.member是两个不同的同行。一个对等体属于Org1,另一个对等体属于Org2。 [你不能让Peer属于两个组织的随机]

  3. 我不确定。请查看上面的Fabric文档链接。