Hyperledger Fabric 执行 assetTransfer.go 时出现 UNKNOWN: access denied: channel [mychannel] creator org [Org1MSP]

写在前面

  其实在八月份的时候就搭过一遍Fabric环境,但是由于各种原因,最近想在Ubuntu下重新搭一遍。本来一切都很顺利的,直到执行go run assetTransfer.go ......

出现情况

  依次执行如下指令:

 

1 ./network.sh up createChannel
2 ./network.sh deployCC -ccn basic -ccp ../asset-transfer-basic/chaincode-go -ccl go
3 docker ps   //可以忽略,主要是查看当前容器
4 cd ..
5 cd asset-transfer-basic/application-go
6 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]

 

posted @ 2021-11-26 09:59  不爱学习的Shirley  阅读(407)  评论(0编辑  收藏  举报