我试图通过我的NodeJS测试客户端向hyperledger fabric区块链网络发送请求,我总是收到以下信息:
error: [Remote.js]: Error: Failed to connect before the deadline
[hl] Query has completed, checking results
[hl] Query error: Error: Failed to connect before the deadline
at checkState (/opt/hl/test/frontend/node_modules/fabric-client/node_modules/grpc/src/client.js:838:16)
我试图找出问题所在,对等日志中没有任何可疑之处。我使用以下版本:
编辑:
失败的代码:
var channel = fabric_client.newChannel('mychannel');
var peer = fabric_client.newPeer('grpc://localhost:7051');
channel.addPeer(peer);
var order = fabric_client.newOrderer('grpc://localhost:7050')
channel.addOrderer(order);
channel.queryByChaincode(request) <-- ERROR
hyperledger正在运行,因为我能够通过Java SDK查询和调用链代码函数。
这似乎是一个许可问题。当我用sudo启动客户端时,将其分配为root previlige。问题得到解决。仍然不确定根本原因。
sudo env "PATH=$PATH" ./fabric.sh start
尝试设置更长的超时,然后重新运行它export GRPC_WAIT_FOR_READY_TIMEOUT=6000