欢迎订阅专栏:3分钟Solidity--智能合约--Web3区块链技术必学
Chainlink 价格预言机
如需获取此内容的最新版本,请访问 Cyfrin.io 上的 Chainlink 价格预言机(代码示例)。
Chainlink 是一个去中心化的预言机网络,是连接链上智能合约与链下现实世界数据的核心桥梁12。它通过聚合多个独立节点从权威数据源(如各大交易所)获取的信息,经链下处理和链上验证,为DeFi等应用提供安全、可靠且防篡改的价格等数据34
ETH / USD 价格预言机
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
contract ChainlinkPriceOracle {
AggregatorV3Interface internal priceFeed;
constructor() {
// ETH / USD
priceFeed =
AggregatorV3Interface(0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419);
}
function getLatestPrice() public view returns (int256) {
(
uint80 roundID,
int256 price,
uint256 startedAt,
uint256 timeStamp,
uint80 answeredInRound
) = priceFeed.latestRoundData();
// ETH/USD 价格按 10^8 比例放大
return price / 1e8;
}
}
interface AggregatorV3Interface {
function latestRoundData()
external
view
returns (
uint80 roundId,
int256 answer,
uint256 startedAt,
uint256 updatedAt,
uint80 answeredInRound
);
}