簡體   English   中英

Chainlink 節點無法向 Chainlink 外部適配器發出請求(在 localhost 上)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM