美文网首页
Fabric SDK 定义endorsement policy

Fabric SDK 定义endorsement policy

作者: CodingCode | 来源:发表于2021-05-02 07:50 被阅读0次
    1. 语法
      "endorsementPolicy":{
          "identities": [
              {"role":{"name":"member","mspId":"${MSPID}"}},
              {"role":{"name":"admin","mspId":"${MSPID}"}}
          ],
          "policy":     {"1-of":[{"signed-by":0}]}
      }
    

    有两个类别:

    1. identity标识所有的实体,目前是以role来区分的。
    2. policy定义具体的policy,policy里面目前支持两个关键词
    • signed-by:对应的是某一个identity
    • N-of:标识满足多少个;后面的值是一个数组,需要包含只是N的元素,否则永远不会满足了。
    1. 举个例子

    假设instance包含三个peer: peer0,peer1,和peer2
    其中: peer0和peer1是member role,peer2是adminrole,那么下面的policy:

    • {"1-of":[{"signed-by":0}]} : 一个任意member签名
      对应的签名组合与结果:
      <peer0>:success // peer0签名
      <peer1>:success // peer1签名
      <peer2>:success // peer2签名,peer2是admin当然也是member

    另外policy {"1-of":[{"signed-by":0}, {"signed-by":1}]},其含义是任意member或者admin签名,达到的是一样的效果。

    • {"1-of":[{"signed-by":1}]} :一个任意admin签名

    对应的签名组合与结果:
    <0>:failure // peer0签名,但peer0是member
    <1>:failure // peer1签名,但peer1是member
    <2>:success // peer2签名

    • {"2-of":[{"signed-by":0}]} :希望是任意两个member签名

    但是前面我们提到过,这个写法是不对的,永远不会满足,因为2-of对应的数组值必须包含至少两个元素;看下面:

    • {"2-of":[{"signed-by":0},{"signed-by":0}]} :两个任意member签名

    对应的签名组合与结果:
    <0, 1>:success // peer0和peer1签名
    <0, 2>:success // peer0和peer2签名
    <1, 2>:success // peer1和peer2签名

    • {"2-of":[{"signed-by":0},{"signed-by":1}]} :任意一个member和任意一个admin

    对应的签名组合与结果:
    <0, 1>:failure // peer0和peer1签名,但peer0和peer1都是member
    <0, 2>:success // peer0和peer2签名
    <1, 2>:success // peer1和peer2签名

    • {"1-of": [{"2-of":[{"signed-by":0},{"signed-by":0}]}, {"signed-by":1}]} // 任意一个admin, 或者任意两个member

    对应的签名组合与结果:
    <0>:failure // peer0签名,但peer0是member
    <1>:failure // peer1签名,但peer1是member
    <2>:success // peer2签名,但peer2是admin
    <0, 1>:success //两个member签名
    <0, 2>:success //一个member和一个admin签名
    <1, 2>:success //一个member和一个admin签名

    相关文章

      网友评论

          本文标题:Fabric SDK 定义endorsement policy

          本文链接:https://www.haomeiwen.com/subject/kiqtdltx.html