【问题标题】:Chainlink - Job not being fulfilledChainlink - 工作未完成
【发布时间】:2021-06-08 02:52:46
【问题描述】:

我一直在学习 Chainlink API,并尝试构建一个简单的合约,该合约将对 API 进行外部调用,并根据来自 Oracle 的请求结果向用户收费。

例如,“如果 API 的结果为 true,我们将向您收取 1 美元,如果结果为 false,我们将向您收取 0.25 美元”

我在 Kovan 测试网上运行它,合同由 LINK 资助。每次我运行“requestCompletedData”函数时事务都会成功。但是回调/实现函数永远不会运行。我已经通过各种方式对其进行了检查。

作为参考,它应该根据来自 URL 的数据生成completed == true

以下是 Chainlink 的 Kovan 测试节点的合约地址和作业 ID:https://docs.chain.link/docs/decentralized-oracles-ethereum-mainnet/

// 
constructor() public {
        setPublicChainlinkToken();
        oracle = 0x2f90A6D021db21e1B2A077c5a37B3C7E75D15b7e;
        jobId = "6d914edc36e14d6c880c9c55bda5bc04";
        fee = 0.1 * 10 * 18; // 0.1 LINK
    }

    // Make Chainlink request
    function requestCompletedData() public returns (bytes32 requestId) {
        Chainlink.Request memory request = buildChainlinkRequest(jobId, address(this), this.fulfill.selector);
        
        // URL for request
        request.add("get", "https://jsonplaceholder.typicode.com/todos/4");
        
        // Path to the final needed data point in the JSON response
        request.add("path", "completed");
        
        return sendChainlinkRequestTo(oracle, request, fee);
    }

function fulfill(bytes32 _requestId, bool _completed) public recordChainlinkFulfillment(_requestId) {
        validateChainlinkCallback(_requestId);
        completed = _completed;
    }

感谢您的帮助!

【问题讨论】:

    标签: blockchain ethereum solidity smartcontracts chainlink


    【解决方案1】:

    删除fulfill() 方法中的validateChainlinkCallback(_requestId) 行,它将起作用。

    function fulfill(bytes32 _requestId, bool _completed) public recordChainlinkFulfillment(_requestId) {
            completed = _completed;
        }
    

    fulfill() 方法已经有 recordChainlinkFulfillment 修饰符,它运行与 validateChainlinkCallback(_requestId) 方法相同的验证。

    参考:ChainlinkClient source code

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-24
      相关资源
      最近更新 更多