Chainlink

在 Chainlink 中執行價格饋送功能時出錯

  • November 27, 2021

這是我的程式碼。將其部署到 Kovan 測試網後。每當我嘗試執行 getPrice() 函式時,它都會返回:

call to PriceConsumerV3.getPrice errored: Error: VM execution error. Reverted 0x 
pragma solidity ^0.6.7;

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

contract PriceConsumerV3{
   
   AggregatorV3Interface internal priceFeed;
   /**
    * Aggregator : 1INCH/ETH 
   */
   
   constructor() public{
       priceFeed = AggregatorV3Interface( 0x231e764B44b2C1b7Ca171fa8021A24ed520Cde10);
       
   }
   
   function getPrice() public view returns(int){
       (
           uint80 roundID,
       int price,
       uint startedAt,
       uint timeStamp,
       uint80 answeredInRound
       )= priceFeed.latestRoundData();
       return price;
       
   }
}

0x231e764B44b2C1b7Ca171fa8021A24ed520Cde10ADX / USDMAINNET 價格饋送地址。看起來您正在尋找 kovan 價格饋送地址。

請查看kovan 價格資訊以獲得正確的地址。

如果您正在觀看來自 freeCodecCamp.org 的“Solidity、區塊鍊和智能合約課程 - 從初學者到專家 Python 教程”,那麼我遇到了同樣的問題。

課程內容非常密集,節奏很快。

講師沒有明確說明“AggregatorV3Interface.sol”合約部署到Kovan測試網路,“FundMe.sol”部署到Rinkeby測試網路。

轉到:https ://docs.chain.link/docs/get-the-latest-price/並向下滾動,直到看到“使用 Remix 部署此合約”按鈕。點擊它。它將帶您進入一個載入了所有程式碼的 Remix IDE 螢幕。

部署“priceAggregatorV3Interface.sol”合約。確保將其部署到 Kovan 測試網路。你需要在你的錢包裡存一點假乙太坊來實現這一點。

接下來,將 FundMe.sol 合約部署到 Rinkeby 測試網路。這應該有效。如果沒有,我很抱歉。我對此也非常陌生。祝你好運

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