Hyperledger Fabric 执行 assetTransfer.go 时出现 UNKNOWN: access denied: channel [mychannel] creator org [
Posted 不爱学习的Shirley
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hyperledger Fabric 执行 assetTransfer.go 时出现 UNKNOWN: access denied: channel [mychannel] creator org [相关的知识,希望对你有一定的参考价值。
写在前面
其实在八月份的时候就搭过一遍Fabric环境,但是由于各种原因,最近想在Ubuntu下重新搭一遍。本来一切都很顺利的,直到执行go run assetTransfer.go ......
出现情况
依次执行如下指令:
./network.sh up createChannel ./network.sh deployCC -ccn basic -ccp ../asset-transfer-basic/chaincode-go -ccl go docker ps //可以忽略,主要是查看当前容器 cd .. cd asset-transfer-basic/application-go go run assetTransfer.go
然后就会出现如下信息:
2021/11/26 09:12:03 ============ application-golang starts ============ [fabsdk/core] 2021/11/26 01:12:03 UTC - cryptosuite.GetDefault -> INFO No default cryptosuite found, using default SW implementation 2021/11/26 09:12:13 Failed to get network: Failed to create new channel client: event service creation failed: could not get chConfig cache reference: QueryBlockConfig failed: QueryBlockConfig failed: queryChaincode failed: Transaction processing for endorser [localhost:7051]: Endorser Client Status Code: (2) CONNECTION_FAILED. Description: dialing connection on target [localhost:7051]: waiting for connection failed: context deadline exceeded exit status 1
解决方法
打开application-go文件夹,将文件夹下面的keystore和wallet两个文件夹删掉,再重新执行go run assetTransfer.go就可以了。
重新执行后,结果如下。
可以看到问题已经解决啦!
出现原因
出现这个问题的原因可能是因为我之前跑过一次,他就生成了这两个文件夹,只要将这两个文件夹删掉就可以了。
温馨提示
Fabric给的assetTransfer.go代码里面有个地方的文件名写错了,需要手动改一下,不然也会报错的。要改的地方在代码的130行。改后如图所示。
certPath := filepath.Join(credPath, "signcerts", "User1@org1.example.com-cert.pem")
当然,也可以跑一遍,到它报错的文件夹下找对应的文件名,然后改。
最后,十分感谢《Fabric在尝试使用应用程序调用时出现:UNKNOWN: access denied: channel [mychannel] creator org [Org1MSP]》的作者,让我能够一大早解决这个问题。
参考博客
[1]Fabric在尝试使用应用程序调用时出现:UNKNOWN: access denied: channel [mychannel] creator org [Org1MSP]
以上是关于Hyperledger Fabric 执行 assetTransfer.go 时出现 UNKNOWN: access denied: channel [mychannel] creator org [的主要内容,如果未能解决你的问题,请参考以下文章
Hyperledger Fabric 智能合约实战 整体步骤
Hyperledger Fabric学习笔记——7.链码安装实例化执行
如何创建一个Hyperledger Fabric channel