Hyperledger fabric Hyperledger结构错误:2未知:访问被拒绝:频道[mychannel]创建者组织[Org1MSP]

Hyperledger fabric Hyperledger结构错误:2未知:访问被拒绝:频道[mychannel]创建者组织[Org1MSP],hyperledger-fabric,hyperledger,hyperledger-fabric-ca,Hyperledger Fabric,Hyperledger,Hyperledger Fabric Ca,我正在尝试与JavaScript中的同龄人进行交互,并且我不断地得到帮助 { Error: 2 UNKNOWN: access denied: channel [mychannel] creator org [Org1MSP] at Object.exports.createStatusError (/blockchain-api-js/node_modules/grpc/src/common.js:87:15) at Object.onReceiveStatus (/block

我正在尝试与JavaScript中的同龄人进行交互,并且我不断地得到帮助

{ Error: 2 UNKNOWN: access denied: channel [mychannel] creator org [Org1MSP]
    at Object.exports.createStatusError (/blockchain-api-js/node_modules/grpc/src/common.js:87:15)
    at Object.onReceiveStatus (/blockchain-api-js/node_modules/grpc/src/client_interceptors.js:1188:28)
    at InterceptingListener._callNext (/blockchain-api-js/node_modules/grpc/src/client_interceptors.js:564:42)
    at InterceptingListener.onReceiveStatus (/blockchain-api-js/node_modules/grpc/src/client_interceptors.js:614:8)
    at callback (/blockchain-api-js/node_modules/grpc/src/client_interceptors.js:841:24)
  code: 2,
  metadata: [Object],
  details: 'access denied: channel [mychannel] creator org [Org1MSP]' }
我使用的是fabric ca示例,我能够通过run-fabric.sh从cli和cli执行事务,但我似乎无法从JS执行,我创建了一个新用户,并使用
client.setTlsClientCertAndKey(cert,key)设置了客户端和证书
,我甚至试着从
/data/orgs/org1/admin/msp/signcerts、/data/orgs/org1/admin/msp/admincerts
/data/orgs/org1/admin/msp/keystore
以及
/data/tls/
中提供管理员证书和密钥,但没有运气 这是我使用的代码部分:

var channel = this.client.newChannel('mychannel')

    let serverCert = fs.readFileSync('/data/org0-ca-chain.pem');

    channel.addOrderer(
        this.client.newOrderer(
            config.orderers['orderer1-org0'].url,
            {
                pem: Buffer.from(serverCert).toString()
            }
        )
    );

    serverCert = fs.readFileSync('/data/org1-ca-chain.pem');

    const peer1 = this.client.newPeer(
        config.peers['peer1-org1'].url,
        {
            pem: Buffer.from(serverCert).toString()
        }
    );
    channel.addPeer(peer1);
    this.eventhubs = []
    this.eventhubs.push(channel.newChannelEventHub(peer1));

    serverCert = fs.readFileSync('/data/org2-ca-chain.pem');

    const peer2 = this.client.newPeer(
        config.peers['peer1-org2'].url,
        {
            'pem': Buffer.from(serverCert).toString()
        }
    );
    channel.addPeer(peer2);
    this.eventhubs.push(channel.newChannelEventHub(peer2));
    this.channel = channel;
    console.log(this.channel)

    return this.channel.sendTransactionProposal(request);

我的代码或操作方式是否有问题?有人能告诉我我做错了什么吗?我见过一些类似的问题,但这些问题都发生在composer被广泛使用的时候,我无法用那里的答案解决我的问题,

我想你最好检查一下客户端的用户上下文


用户上下文具有mspID。检查mspId是否为Org1MSP。

错误可能是因为签署事务的证书。请仔细检查从CA收到的证书,并检查对等方docker容器中使用的证书和路径。

您有什么解决方案吗?