Chainlink
在 Chainlink 中執行價格饋送功能時出錯
這是我的程式碼。將其部署到 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; } }
0x231e764B44b2C1b7Ca171fa8021A24ed520Cde10
是ADX / USD
MAINNET 價格饋送地址。看起來您正在尋找 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 測試網路。這應該有效。如果沒有,我很抱歉。我對此也非常陌生。祝你好運