0

So, I was trying to follow the ChainLink's official docs for getting a large response as shown on their website however I deployed, funded with link, called the requestBytes() function , waited some minutes and the data field is still empty. There have been a lot of people complaining about the same issue but the answer for them was simply to follow the latest docs. Which I am. Is there still some step that I am missing ?

This is the contract code:

//SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;

import "https://github.com/smartcontractkit/chainlink/blob/develop/contracts/src/v0.8/ChainlinkClient.sol";
// import "@chainlink/contracts/src/v0.8/ChainlinkClient.sol";


contract GenericLargeResponse is ChainlinkClient {
  using Chainlink for Chainlink.Request;

  bytes public data;
  string public image_url;

  constructor() {
    setChainlinkToken(0xa36085F69e2889c224210F603D836748e7dC0088);
    setChainlinkOracle(0x25C7ac1900de67605c0A1812109E960068B1C3d6);
  }

  function requestBytes() public
  {
    bytes32 specId = "b3b68ecd35464833a16613742640ae89";
    uint256 payment = 100000000000000000;
    Chainlink.Request memory req = buildChainlinkRequest(specId, address(this), this.fulfillBytes.selector);
    req.add("get","https://ipfs.io/ipfs/QmZgsvrA1o1C8BGCrx6mHTqR1Ui1XqbCrtbMVrRLHtuPVD?filename=big-api-response.json");
    req.add("path", "image");
    sendOperatorRequest(req, payment);
  }

  event RequestFulfilled(
    bytes32 indexed requestId,
    bytes indexed data
  );

  function fulfillBytes(
    bytes32 requestId,
    bytes memory bytesData
  )
    public
    recordChainlinkFulfillment(requestId)
  {
    emit RequestFulfilled(requestId, bytesData);
    data = bytesData;
    image_url = string(data);
  }
}

Deployed on Kovan:https://kovan.etherscan.io/address/0x3B5fFfD84a0A36d3a66bCcF6de98B5dbaD102888.

The JSON file seems to be OK as well: https://ipfs.io/ipfs/QmZgsvrA1o1C8BGCrx6mHTqR1Ui1XqbCrtbMVrRLHtuPVD?filename=big-api-response.json

1 Answer 1

0

There was an issue with the large response job on the Kovan hosted node. Please try again with the following values:

  setChainlinkOracle(0x74EcC8Bdeb76F2C6760eD2dc8A46ca5e581fA656);

  bytes32 specId = "7da2702f37fd48e5b1b9a5715e3509b6";
1
  • it does work now indeed. Chainlink's docs are pretty confusing ngl. Is there maybe any other better guide available on the web to start using oracles ? Pls let me know if you have heard of any. Other than Chainlink works too. Apr 12 at 17:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.