Hyperledger Cacti Fabric连接器报错“No discovery targets found”求助
排查方向
1. 链码发现配置验证
- 检查Fabric连接器配置里的
discovery.enabled是否设为true,如果禁用发现模式,必须手动指定所有必要的Peer节点地址 - 确认
discovery.asLocalhost的设置匹配你的Fabric网络部署环境:容器化部署且用自定义网络时设为false,本地开发环境可设为true
2. 组织与节点配置准确性
- 核对连接器配置中的组织MSPID、Peer节点地址、证书路径:
- Peer地址要包含完整的
grpc://或grpcs://前缀及端口 - 组织根证书、用户证书/密钥的路径必须正确指向本地有效文件,且Cactus进程有读取权限
- Peer地址要包含完整的
- 手动指定节点时,要确保这些节点在Fabric网络中处于活跃状态,且已加入目标通道
3. 通道与链码存在性验证
- 确认目标通道已创建,且指定的Peer节点已加入该通道
- 验证调用的链码已在目标通道成功安装并实例化,链码名称、版本要和请求参数完全匹配
4. TLS与网络连通性检查
- 如果Fabric网络启用了TLS,需在连接器配置中提供正确的TLS根证书,同时Peer节点地址要使用
grpcs://协议 - 在Cactus服务器所在主机上,用
grpcurl或类似工具测试与Fabric Peer节点的网络连通性,确认没有防火墙、网络策略阻断请求
5. 身份权限验证
- 检查调用链码的Fabric用户身份是否拥有目标通道的读写权限,且属于正确的组织
- 验证用户证书的有效期,确保未过期或被吊销
6. 日志与错误详情分析
- 启动Cactus时增加
DEBUG=cactus:*环境变量,命令改为DEBUG=cactus:* node index.js --config-file=/.cacti-config.json,查看详细日志获取更具体的错误堆栈 - 检查Fabric Peer节点的日志,确认是否有来自Cactus的连接请求被拒绝或处理失败的记录
内容的提问来源于stack exchange,提问作者Secure SDLCP
相关产品推荐
相关产品推荐

