Polygon Cardano测试网调用Chainlink数据合约遇execution reverted错误求助
问题解决步骤
核心原因:喂价合约地址不匹配
你当前使用的0x97d9F9A00dEE0004BE8ca0A8fa374d486567eE2D是Sepolia测试网的ETH/USD Chainlink喂价地址,在Polygon Cardano测试网中无效,这是导致调用 revert 的直接原因。Chainlink喂价地址随网络不同而变化,必须使用对应测试网的官方地址。
修复方案
替换正确的喂价地址
查找Polygon Cardano测试网官方提供的ETH/USD喂价合约地址,将构造函数中的地址替换为该地址。规范
latestRoundData()调用写法
虽然Sepolia上能运行,但原代码的参数解构写法不够规范,可能在部分编译器或网络环境下引发问题。修改函数为标准解构形式:function getChainlinkDataFeedLatestAnswer() public view returns (int) { ( /* uint80 roundId */, int answer, /* uint startedAt */, /* uint updatedAt */, /* uint80 answeredInRound */ ) = dataFeed.latestRoundData(); return answer; }验证网络连接
确保Remix已正确连接到Polygon Cardano测试网,而非其他网络。重新部署合约
使用修改后的代码重新部署合约,再调用getChainlinkDataFeedLatestAnswer()函数即可获取ETH/USD价格数据。
内容的提问来源于stack exchange,提问作者Divyakrishnan R
相关产品推荐
相关产品推荐

