我试图通过hyperLedger Fabric链码访问以下Api:http://api.open-notify.org/astros.json.However我想出了以下错误
恐慌:获取http://api.open-notify.org/astros.json:proxyconnect tcp:拨打tcp:i / o timeout
我尝试了多种方法来解析代理,但它总是超时。
有人可以建议修复吗?
提前致谢。
答案 0 :(得分:0)
通常,您不应该从超级账本中调用外部API,因为这样做会导致对等节点之间发生冲突。假设每个对等方都需要执行该请求,那么请求的数量将随系统中涉及的节点数量呈指数增长。
文档中说应该执行外部请求,据我所知,关于外部请求的文档尚未针对当前的超级账本版本进行更新。 https://hyperledger.github.io/composer/v0.19/integrating/call-out
https://hyperledger.github.io/composer/v0.19/integrating/call-out#consensus-considerations
指出了访问外部API时的共识注意事项。我一直在使用的解决方法是设置第二个未运行Hyperledger的Docker容器,以在端口3001上执行api请求,整理结果,然后将其发送到在端口3000上使用REST服务设置的Hyperledger。