For the complete documentation index, see llms.txt. This page is also available as Markdown.

Steps to use oracle

Step 1: Choose an oracle service

First, you need to choose an oracle service provider. Common oracle services include Chainlink, Band Protocol, etc. In this guide, we will use Chainlink as an example.

Install the libraries required for Chainlink oracles in your project:

npm install @chainlink/contracts

Step 3: Write a smart contract

Write a smart contract to interact with Chainlink oracles. Here is an example smart contract that requests and receives the price of an asset:

/ SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
 
import "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol";
 
contract PriceConsumerV3 {
 
    AggregatorV3Interface internal priceFeed;
 
    /**
     * Network: EMC Mainnet
     * Aggregator: ETH/USD
     * Address: <Chainlink Price Feed Contract Address>
     */
    constructor() {
        priceFeed = AggregatorV3Interface(<Chainlink Price Feed Contract Address>);
    }
 
    
/**
     * Returns the latest price
     */
    function getLatestPrice() public view returns (int) {
        (
            ,
            int price,
            ,
            ,
            
        ) = priceFeed.latestRoundData();
        return price;
    }
}

Will <Chainlink Price Feed Contract Address> Replace with the actual Chainlink price feedback contract address.

Step 4: Deploy smart contract

Use tools such as Hardhat or Truffle to deploy smart contracts to the EMC chain:

npx hardhat run scripts/deploy.js --network emc

Step 5: Interact with the oracle

After deploying a contract, you can write scripts or front-end code to interact with the contract to obtain external data. For example, get the latest ETH/USD price:

Last updated