部署Composer业务网络时安装runtime失败的技术求助
针对你执行 composer network deploy -a tutorial-network@0.0.1.bna -A admin -S adminpw -c PeerAdmin@hlfv1 -f networkadmin.card 时遇到的Runtime安装失败问题,我整理了几个实际排查修复的方向,都是之前踩坑总结的经验:
确认PeerAdmin身份权限
首先要保证PeerAdmin@hlfv1这个身份拥有安装链码的权限。你可以执行下面的命令查看身份详情:composer identity list -c PeerAdmin@hlfv1如果输出里没有显示该身份具备PeerAdmin角色,你需要重新创建正确的PeerAdmin身份。
验证BNA文件完整性
你的tutorial-network@0.0.1.bna归档文件可能存在打包异常。建议回到业务网络的根目录,重新生成归档文件:composer archive create -t dir -n .用新生成的BNA文件再次尝试部署。
检查Fabric网络状态
确保Hyperledger Fabric的所有节点容器都正常运行。执行docker ps查看容器列表,如果有Peer或Orderer容器退出,先重启Fabric网络:docker-compose down docker-compose up -d等待所有容器启动完成后(大概1分钟),再重新执行部署命令。
版本兼容性检查
Composer和Hyperledger Fabric的版本必须严格对应,这是很多人踩坑的点。你可以分别执行下面的命令查看版本:composer --version peer version比如Composer v0.20.x需要搭配Fabric v1.3,v0.19.x搭配Fabric v1.2。如果版本不匹配,要么调整Composer版本,要么更换对应的Fabric网络。
清理旧链码残留
如果之前安装过同名的业务网络链码,可能会有残留冲突。你可以进入Peer容器清理链码目录:docker exec -it peer0.org1.example.com bash rm -rf /var/hyperledger/production/chaincodes/ exit然后重启Peer容器,再尝试重新部署。
内容的提问来源于stack exchange,提问作者Ernesto

