Hyperledger Fabric通道queryInfo引发访问被拒绝错误

时间:2019-03-13 07:23:33

标签: hyperledger-fabric hyperledger

我正在尝试使用节点sdk(https://fabric-sdk-node.github.io/release-1.4/Channel.html-channel.queryInfo())查询频道信息。

我有两个网络设置(我没有完成网络设置。因此,我不知道有什么区别)。 在一个网络中,我能够成功查询。 在另一种情况下,出现此错误: 错误:[GetChainInfo] []的访问被拒绝:[在检查策略[/ Channel / Application / Readers]期间对签名数据的评估策略失败:[未能达到1个子策略的隐式阈值,需要剩余1个]]

但是,当我使用useAdmin = true调用时,即channel.queryInfo(undefined,true),它可以工作。我想知道是什么会导致一个网络而不是另一个网络发生这种错误。创建通道以允许/禁止非管理员查询时传递了任何参数吗?

1 个答案:

答案 0 :(得分:1)

频道的ACL的默认字段为

        #ACL policy for qscc's "GetChainInfo" function
        qscc/GetChainInfo: /Channel/Application/Readers

每个组织的Reader都在

之类的configtx.yaml中定义
          Policies: &org1Policies
            Readers:
                Type: Signature
                Rule: "OR('org1.example.com.member')"

看来这是您的问题所在。确保读者是OrgMSP的.member而不是.admin

相关问题