Como criar um sistema de preços Oracle

porMatheusem15/07/2022

Nesse artigo iremos aprender a como criar um sistema de preços Chainlink Oracle para seu projeto, token ou jogo NFT.

Preço ETH/USD Oracle

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;
// import "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol";
contract ChainlinkPriceOracle {
AggregatorV3Interface internal priceFeed;
constructor() {
// ETH / USD
priceFeed = AggregatorV3Interface(0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419);
}
function getLatestPrice() public view returns (int) {
(
uint80 roundID,
int price,
uint startedAt,
uint timeStamp,
uint80 answeredInRound
) = priceFeed.latestRoundData();
// para ETH / USD o preço é aumentado por 10 ** 8
return price / 1e8;
}
}
interface AggregatorV3Interface {
function latestRoundData()
external
view
returns (
uint80 roundId,
int answer,
uint startedAt,
uint updatedAt,
uint80 answeredInRound
);
}

Chainlink (LINK) é um projeto oracle descentralizado bem conhecido que é executado em cima do tecnologia blockchain do Ethereum, e que se tornou o principal pilar de interconexão entre o mundo real, DApps e o ecossistema DeFi nesta blockchain.

Os oracles são necessários porque as blockchains não podem acessar diretamente dados fora de sua rede. Os oracles são definidos como um “agente” que encontra e verifica ocorrências no mundo real e submete esta informação a uma blockchain para ser utilizada em contratos inteligentes.

Você pode ler mais no site bit2me

Site oficial da Chainlink


Testar no Remix