Solidity GOFundMe Smart Contract - Remix - Chainlink `对 FundMe.getVersion 的调用出错:执行已恢复`
Solidiy FundMe Smart Contract - Remix - Chainlink `call to FundMe.getVersion errored: execution reverted`
我正在学习使用 Chain Link 来获取价格转换以及实现 Chainlink 提供的其他功能。我在 Rinkeby 测试网上有 2.9992 ETH,我能够使用 Remix IDE 使用注入的 Web3 环境成功地编译和部署代码。
每当我调用函数 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,它适用于 Rinkeby 测试网上的 ETH/USD,它可以完美地编译和部署,没有错误
我正在学习使用 Chain Link 来获取价格转换以及实现 Chainlink 提供的其他功能。我在 Rinkeby 测试网上有 2.9992 ETH,我能够使用 Remix IDE 使用注入的 Web3 环境成功地编译和部署代码。
每当我调用函数 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,它适用于 Rinkeby 测试网上的 ETH/USD,它可以完美地编译和部署,没有错误