我正在学习使用Chain Link来获得价格转换,并实现Chainlink提供的其他功能。我在Rinkeby测试网上有2.9992 ETH,我成功地使用使用注入Web3环境的Remix IDE编译和部署代码。
每当我调用函数getVersion或ChainLink中定义的任何其他函数。我得到这样的错误
"call to FundMe.getVersion errored: execution reverted"
pragma solidity >=0.6.6 <0.9.0;
import "@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol";
contract FundMe {
mapping(address => uint256) public addressToAmountFunded;
function fund() public payable {
addressToAmountFunded[msg.sender] += msg.value;
}
function getVersion() public view returns(uint256) {
AggregatorV3Interface priceFeed = AggregatorV3Interface(0x01BE23585060835E02B77ef475b0Cc51aA1e0709);
return priceFeed.version();
}
}
所以我找到了我问题的答案。我使用了错误的以太坊数据源地址。我将地址更新为0x8A753747A1Fa494EC906cE90E9f37563A8AF630e这是为ETH/USD在Rinkeby测试网,它编译和部署完美,没有错误