从 API 获取智能合约中的请求

问题描述 投票:0回答:1

我正在尝试从 API 获取数据。我已按照链链接文档要求执行所有必要的步骤。

API response in Postman:

function requestFirstId() public returns (bytes32 requestId) {
        Chainlink.Request memory req = buildChainlinkRequest(
            jobId,
            address(this),
            this.fulfill.selector
        );

        
        req.add(
            "get",
            "https://pi360.net/site/api/student_meta_data.php?institute_id=mietjammu&student_id=NTI5Mg==&key=QUFqSDg3Kjk2cC00NCNAaFc="
        );

        
        req.add("path", "0,student"); // Chainlink nodes 1.0.0 and later support this format
        st
        return sendChainlinkRequest(req, fee);
    }

无法从智能合约中的 API 检索数据

我期待着获取请求响应

json blockchain smartcontracts chainlink get-request
1个回答
0
投票

有可能:

  1. 您的 API 端点已关闭
  2. 您尝试获取的数据太大,或者您的合约的履行功能太复杂,并且使用了太多的gas(> 500,000)。
  3. 您指向的 Chainlink 预言机已关闭。

如果您确定您的 API 在线,并且您在合约的执行/回调函数中写入合约的数据相当小(即基本

uint256
bytes32
字符串),我建议您指向与不同的 Chainlink 预言机签订合约。

要查找 Chainlink 预言机,您可以:

  1. 加入 Chainlink 官方 Discord 服务器,将您的请求发布到 #operator-requests 频道,并等待愿意的预言机回复。
  2. 浏览一家信誉良好的预言机公司的网站(在 LinkWell Nodes,我们在我们的网站上提供示例智能合约、作业 ID 和预言机地址,就像许多其他公司一样)。

如果您不介意用 JavaScript 编写请求逻辑,您也可以尝试注册 Chainlink Functions,但请记住,Chainlink Functions 请求的 Gas 限制甚至更小(300,000)。

请告诉我这些是否有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.