5 回答
TA贡献1891条经验 获得超3个赞
我通过简单地更改链代码的名称解决了这个问题。
root@c442cc2748e7:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer 链码实例化 -o orderer.example.com:7050 --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME -n mycc -l golang -v 1.0 -c '{"Args":[]}' -P "AND ('Org1MSP.peer','Org2MSP.peer')"
只需将 -n mycc 更改为 -n 给任何你想要的名字
TA贡献1809条经验 获得超8个赞
我在使用ubuntu 18.04 和hyperledger fabric 1.4.1java chaincode
安装设置时遇到了同样的问题。但是我已经按照以下过程解决了它。first-network
在build.gradle
我的依赖是
编译组:'org.hyperledger.fabric-chaincode-java',名称:'fabric-chaincode-shim',版本:'1.x'
我改成了
编译组:'org.hyperledger.fabric-chaincode-java',名称:'fabric-chaincode-shim',版本:'1.4.1'
TA贡献1785条经验 获得超4个赞
我遇到了同样的问题。该问题基本上表明对等进程无法从链代码映像注册/创建容器。您可以通过一个简单的docker ps -a
. 此外,在实例化时,对等方下载fabric-ccenv
包含用于构建链代码所需库的图像。在我的例子中,fabric-ccenv
正在下载一个旧图像。正是这种差异导致链代码容器以0
状态代码退出。我fabric-ccenv
使用用于 peer 的相同标签更新了 docker 镜像并解决了错误。此外,这可能发生在错误设置的情况下CORE_PEER_CHAINCODELISTENADDRESS
。它应该设置为0.0.0.0:7052
。
TA贡献1824条经验 获得超5个赞
解决方案
移除dev-*
容器并重试。
docker images ... dev-peer0.org1.example.com-fabcar-1.0-93f09... ... docker rmi $(docker images dev-* -q)
解释
lscc
为链代码创建一个 docker 镜像。一旦这个图像存在,它将在未来重用它。如果图像不好,您必须删除它,然后再尝试实例化。我相信这就是为什么这么多“重命名”解决方案起作用的原因,它会导致创建一个新图像(使用不同的名称),因为 docker 图像名称的名称和版本。
故障排除
为了确定链代码启动失败的原因,您可以连接到 cli 容器并尝试手动运行链代码。例如,nodejs 链代码可能如下所示:
docker exec -it cli /bin/bash #$ cd chaincode #$ npm start # <some npm error here>
另一种选择是打开对等点的日志记录并重试。可以通过环境变量打开对等日志记录FABRIC_LOGGING_SPEC
。我会设置为debug
orinfo
然后再试一次。日志可以通过检查
docker logs peer0.org1.example.com
归根结底,该错误意味着lscc
链代码无法启动您的链代码。
TA贡献1850条经验 获得超11个赞
哦,我已经修好了!它是由 docker compose .yaml 文件引起的。我更改了目录的名称,但没有更新此文件中的“网络”。与目录名保持一致后,现在没有错误了。
- 5 回答
- 0 关注
- 218 浏览
添加回答
举报