在fabric-sdk-go的代码运行的时候报错:
创建应用通道失败: create channel failed: create channel failed: SendEnvelope failed: calling orderer 'localhost:7050' failed: Orderer Client Status Code: (2) CONNECTION_FAILED、Description: dialing connection on target [localhost:7050]: connection is in TRANSIENT_FAILURE
报错图片信息如下:
网络上查了好多办法,接触fabric时候一直碰到问题,昨天一直碰到user no found 的问题,好不容易解决了。(如果碰到相似问题,需要的话可以去看我CSDN的文章:fabric-sdk-go代码启动报错:failed to create resmgmt client due to context error: user not found_Mutual!的博客-CSDN博客
这里我就不废话,直接附上我的解决方案:
1.注意看报错信息,是 localhost:7050 无法连接,因此找到SDK配置文件config.yaml,发现orderers中的映射端口正好是localhost:7050,因此发现问题出错处。
2.和官方的实例配置文件进行对比,发现自己配置文件不完整,导致错误,这里附上该部分完整的配置文件,大家也检查一下自己的是否完整(黄色部分是我漏下的)
3.有的兄弟可能是报错找不到 orderer.example.com:7050,而不是localhost:7050,这是因为ubuntu的映射问题,可以用 sudo gedit /etc/hosts 修改文件,添加127.0.0.1映射到orderer.example.com,不过我试了几次有几次成功,有几次不成功。关于这个问题还有一个解决方案,就是将config.yaml该部分url从orderer.example.com:7050改成localhost:7050,我使用后一个办法解决问题。
最后附上成功的截图