Hyperledger fabric 部署结构测试网络fabcar链码时出错

Hyperledger fabric 部署结构测试网络fabcar链码时出错,hyperledger-fabric,Hyperledger Fabric,我正在按照文档()在Amazon Lightsail上的Ubuntu 16.04上部署Fabric测试网络。所有命令均已成功执行,结果与预期一致,直到 /network.sh deployCC-l javascript 收到以下错误消息: 错误:调用期间背书失败。响应:状态:500消息:“模拟中出错:无法执行事务2554869d3683a7e77202f448aa201fd2f97243faa4ff5dd4839eb8d3175cf53b:无法启动链码fabcar_1:BEC08818FDB2B

我正在按照文档()在Amazon Lightsail上的Ubuntu 16.04上部署Fabric测试网络。所有命令均已成功执行,结果与预期一致,直到

/network.sh deployCC-l javascript

收到以下错误消息:

错误:调用期间背书失败。响应:状态:500消息:“模拟中出错:无法执行事务2554869d3683a7e77202f448aa201fd2f97243faa4ff5dd4839eb8d3175cf53b:无法启动链码fabcar_1:BEC08818FDB2BDA0FB41A4A6F996A87BA08887583FEBEDBC791CBA7E91537:链码注册失败:容器以0退出!!!!!!!!!!!!!!!调用对peer0.org1 peer0.org2的执行失败

任何援助都将不胜感激


K

对于fabcar示例,您可以在fabcar内部使用
startFabric.sh
脚本以您想要的语言部署chaincode。在您的案例中特别运行
/startFabric.sh javascript


此脚本通常运行
/network.sh
,并进行一些额外的网络清理。

我假设您正在进行新的安装。如果没有停止,请首先停止所有容器

docker-stop$(docker-ps-a-q)

之后,使用命令删除未使用的卷

docker volume prune
docker system prune
删除任何未使用的数据

您必须手动删除证书(如果未删除)。首先执行
/network.sh down
命令。然后进入
测试网络/组织
,删除
对等组织
订单组织

然后移动到fabric ca目录并删除
org1
org2
orderorg,
请记住,在这里您不必删除任何
.yaml
文件。 并移除测试网络中的
fabcar.tar.gz

现在使用以下命令启动网络:

./network.sh up createChannel -ca -c mychannel -s couchdb -i 2.0.0

./network.sh deployCC -l javascript

我对javascript链码也有同样的问题(它在2天前工作,现在有同样的错误),但deployCC with golang(奇怪的)没有这个问题。因此,如果不需要使用javascript,您也可以运行
/network.sh deployCC

现在一切正常。问题在于系统大小-将内存增加到4GB RAM修复了它

谢谢大家的建议


K

关闭网络。然后重新开始。然后创建一个通道并部署您的链码。它会起作用的。
我遇到了相同的错误,因为我首先创建了一个命名通道,并尝试使用-c在那里部署代码。但是,当我关闭并使用默认的“mychannel”再次执行所有步骤时,它对我来说运行良好。

您可以共享部署测试网络的命令吗?您是否更改了脚本中的通道名称或链码名称?使用的命令是:
/network.sh deployCC-l javascript
。未对脚本、频道或链码名称进行任何更改。您是否可以关闭网络并确保删除了卷和证书。还可以删除已创建的链码包。在从
/network.sh up
重新启动之前,执行
/network.sh down
。结果相同。您正在使用哪个映像版本的fabric,并且手动删除了卷和证书(不使用脚本)。我收到了以下错误:-
error:error获取频道的背书人客户端时出错:背书人客户端未能连接到本地主机:9051:未能创建新连接:连接错误:desc=“传输:拨号时出错:拨号tcp 127.0.0.1:9051:连接:连接被拒绝“
感谢您提供的步骤。它们在启动网络之前都已成功执行
/network.sh up createChannel-ca-c mychannel-s couchdb-i 2.0.0
已更改为
/network.sh up createChannel-ca-c mychannel-s couchdb-i 2.1.1
,以匹配我的版本。执行成功。执行
/network.sh deployCC-l javascript
时,遇到以下错误
错误:chaincode安装失败,状态为:500-调用“InstallChaincode”的备份实现失败:无法生成chaincode:docker生成失败
感谢您的建议。不幸的是,它以与javascript chaincode相同的错误终止:
错误:chaincode安装失败,状态为:500-调用“InstallChaincode”的备份实现失败:无法生成chaincode:docker build failed
。您尝试过重置结构环境吗?从下载fabric开始?这就是我今天早上所做的是的,这没有多大帮助,但让我再试一次,如果我今天得到不同的回应,我会告诉你。不幸的是,仍然没有乐趣。我从一台新机器开始,这也没用。如果有办法了解错误是什么,您可以使用
-FABRIC\u logging\u SPEC=DEBUG
-FABRIC\u logging\u SPEC=WARN:cauthdsl=info:policies=DEBUG:msp=info
更改容器日志记录的docker compose配置,并根据需要进行编辑。然后,您可以检查对等容器在错误之前的状态HI I有以下错误:错误:chaincode安装失败,状态:500-调用“InstallChaincode”的备份实现失败:chaincode已成功安装。你真的通过调整系统大小来解决这个问题吗?你能把你的答案的格式改一点吗?不要说“使用-c部署”,而是复制您的命令并使用反勾号格式化代码
mycommand-c
。还可以尝试使用编号步骤直观地简化解决方案。