在HyperLedger Fabric中访问外部Api

时间:2018-04-25 11:27:22

标签: go hyperledger-fabric

我试图通过hyperLedger Fabric链码访问以下Api:http://api.open-notify.org/astros.json.However我想出了以下错误

恐慌:获取http://api.open-notify.org/astros.json:proxyconnect tcp:拨打tcp:i / o timeout

我尝试了多种方法来解析代理,但它总是超时。

有人可以建议修复吗?

提前致谢。

1 个答案:

答案 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。