hyperledger-fabric - Hyperledger Fabric 错误:2 未知:访问被拒绝:频道 [mychannel] 创建者组织 [Org1MSP]
问题描述
我正在尝试通过 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示例,我能够从cli和cli通过run-fabric.sh执行事务,但我似乎无法从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);
我的代码或执行方式有问题吗?有人可以告诉我我做错了什么吗?我见过一些类似的问题,但这些问题发生在主要使用作曲家时,我无法用那里的答案解决我的问题,
解决方案
我认为您最好检查客户端的用户上下文。
用户上下文具有 mspID。检查 mspId 是否为 Org1MSP。
推荐阅读
- swing - Java Tables - 设置可编辑的列而不是可编辑的
- postgresql-9.3 - 解析选择时引用其他行
- matlab - MATLAB。当第二列的行具有相同的值时,如何对第一列的所有行求和?
- javascript - content.js 中的 document.body 从 popup.html 返回 html 而不是网页
- c++ - 在 MacOS 和 IOKit 上实现 USB 读取超时
- ms-access - 使用 IIF 问题问题计算邮资
- java - 将此嵌套循环方法转换为 Stream Lambda 函数
- css - 使用 express 在 node.js 中添加 css 背景图像
- c# - 如何防止 WPF MediaKit MediaClosed 被触发
- objective-c - Objective C - unicode(乌尔都语)文件复制