执行composer-rest-server命令遇Connection未就绪错误求助
Fixing "Connection is not in the READY state" Error When Starting Composer REST Server
我之前帮不少开发者解决过这个Hyperledger Composer REST服务器启动的问题,这个Connection is not in the READY state错误本质上是Composer的连接器无法和Fabric网络的通道事件Hub建立有效连接,下面是几个经过验证的解决步骤:
先确认Fabric网络完全正常运行
这个错误最常见的原因是Fabric的peer、orderer等核心容器没有完全启动或者运行异常。- 运行以下命令检查所有Fabric容器状态:
确保所有容器(比如docker pshyperledger/fabric-orderer、hyperledger/fabric-peer、hyperledger/fabric-ca、couchdb)都处于Up状态,没有退出或重启的记录。 - 如果有容器异常退出,查看容器日志定位问题:
修复问题后,先停止Fabric网络,再重新启动:docker logs <container-name-or-id>
之后别忘了重新创建并导入你的业务网络卡片。./stopFabric.sh ./startFabric.sh
- 运行以下命令检查所有Fabric容器状态:
验证业务网络卡片的有效性
无效或配置错误的卡片会导致连接失败:- 先列出所有已有的卡片:
composer card list - 用
composer ping测试目标卡片的连接状态:
如果ping失败,说明卡片有问题,先删除旧卡片:composer ping -c <your-card-name>
然后重新生成并导入正确的卡片,确保卡片中的连接配置指向正确的Fabric节点,证书路径没有错误。composer card delete -c <your-card-name>
- 先列出所有已有的卡片:
检查Composer与Fabric的版本兼容性
Hyperledger Composer和Fabric有严格的版本对应关系,版本不匹配会引发各种连接问题:- 查看当前Composer版本:
composer -v - 查看Fabric peer版本:
比如Composer v0.20.x需要搭配Fabric v1.3.x,v0.19.x对应Fabric v1.2.x。如果版本不匹配,升级或降级对应组件到兼容版本。docker images | grep hyperledger/fabric-peer
- 查看当前Composer版本:
清理缓存并重启REST服务器
残留的Node进程或缓存可能导致异常:- 先杀掉所有相关的Node进程:
pkill node - 清除npm缓存:
npm cache clean --force - 重新运行
composer-rest-server,选择正确的业务网络卡片。
- 先杀掉所有相关的Node进程:
检查通道事件Hub的配置
有时候是事件监听端口未开放或配置错误:- 打开你的业务网络连接配置文件(
connection.json),确认eventHubURL指向正确的peer节点事件端口(默认是7053),并且该端口没有被防火墙或其他服务占用。
- 打开你的业务网络连接配置文件(
内容的提问来源于stack exchange,提问作者Rohan Khanna
相关产品推荐
相关产品推荐

