Solidity

ChainlinkClient.sol v0.8.0 不工作 (request.add(‘get’, ‘<url>’))

  • May 18, 2021

我對穩定使用 ChainLinks ORACLE 合約比較陌生。我最近成功地將他們的 VRFConsumerBase.sol 集成到我的消費者契約中以生成隨機數。但是,當我想集成並使用他們的客戶端向我的 API 發出簡單的 Get 請求時,它會在編譯時拋出此錯誤

CompileError: TypeError: Member "add" not found or not visible after argument-dependent lookup in struct Chainlink.Request memory

我目前正在使用Truffle v5.1.65 & Sol 0.8.0。我正在導入我的 ChainLink 文件,如下所示:

import "@chainlink/contracts/src/v0.8/dev/ChainlinkClient.sol";

這是我的功能:

   function uploadTokenDataToServer(NFT memory nft) public{

    require(LINK.balanceOf(address(this)) &gt;= linkFee, "Not enough LINK - fill contract with faucet");


   Chainlink.Request memory request = buildChainlinkRequest(jobId, address(this), this.confirmUpload.selector);
   
   string memory finalURL = append(nft.ID,nft.creator,nft.desc) ;
   
   request.add("get", finalURL);
 
   return sendChainlinkRequestTo(oracle, request, linkFee);
}

編譯時似乎add未檢測到該功能。任何幫助將不勝感激。

Chainlink 的 Solidity v0.8 合約仍在積極開發中,請使用 v0.6合約直到它們準備就緒。

import "@chainlink/contracts/src/v0.6/ChainlinkClient.sol";

為了將來參考,這些合約目前位於 v0.8 目錄的 dev 文件夾中,表明它們還沒有準備好投入生產。

引用自:https://ethereum.stackexchange.com/questions/99226