[英]Chainlink node can't make requests to Chainlink external adapter (on localhost)
我有一個在端口 6688 上運行的 chainlink 節點。我使用 docker 運行它,使用以下命令:
cd ~/.chainlink-rinkeby && docker run -p 6688:6688 \
-v ~/.chainlink-rinkeby:/chainlink \
-it --env-file=.env \
smartcontract/chainlink:1.4.0-root local n -p /chainlink/.password -a /chainlink/.api
我有一個在端口 8080 上運行的外部適配器。
如果我請求它{ "id": 0, "data":{ "columns": ["blood","heath"], "linesAmount":500 } }
它會以預期的格式返回正確的有效負載從外部適配器:
{
"jobRunID": 0,
"data": {
"ipfsHash": "anIpfshashShouldBeHere",
"providers": [
"0x03996eF07f84fEEe9f1dc18B255A8c01A4986701"
],
"result": "anIpfshashShouldBeHere"
},
"result": "anIpfshashShouldBeHere",
"statusCode": 200
}
問題是,在chainlink節點中,特別是在fetch
方法中,它給了我一個錯誤: error making http request: Post "http://localhost:8080": dial tcp 127.0.0.1:8080: connect: connection refused
它與docker容器有關嗎? 我不明白為什么它不能從同一台機器的另一個端口請求資源。 我可能缺少一些配置嗎? 根據我從文檔中讀到的內容,可以在本地運行適配器。 下面是一張包含更多信息的圖片:
如果您的外部適配器 (EA) 在http://localhost:8080
上運行,並且您試圖從運行在 Docker 內的 Chainlink 節點訪問該 EA,那么您不能使用localhost
,您需要退出Docker 容器和運行 Docker 引擎的主機(您的 Windows 或 Mac 機器)。
為此,請定義您的網橋以使用http://host.docker.internal:8080
。
更多細節可以在Docker 文檔中找到。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.