Decentralized Oracles: Get Started & Earn RLC

Julien Béranger
4 min readJul 4, 2019

iExec offers one of the most complete and simple to use decentralized oracle solutions: being live on Ethereum mainnet, Trusted Execution Environment ready, and extremely easy and fast for developers to set up a custom API. We gave an introduction to decentralized oracles and the iExec approach in this blog post:

We believe that spending time acquiring new blockchain skills by building on iExec should be a rewarding experience, not only from a development perspective but also, financially.

We’ve funded 4 Gitcoin issues covering 4 different projects. Each one of them is rewarded $100 in RLC. If you’re interested in getting involved, you can apply to work on one of the proposed oracle projects.

It’s quite simple: after you have familiarized yourself with the iExec stack, you just need to dockerize an app and you’re ready to deploy an oracle with iExec.

Price feed: a simple example of a Decentralized Oracle

https://price-feed-doracle.iex.ec/

Decentralized oracles collect valuable off-chain data (from ‘Web2.0’), and feeds it to smart contracts on the blockchain, acting as a bridge, in a trustless and decentralized manner.

As a simple example, you can have a look at the price feed: several machines are relaying the data from CoinAPI to the oracle contract after the iExec PoCo consensus protocol has been carried out over the result. This specific oracle can enable a variety of financial services and apps such as a decentralized exchange.

Get started with iExec Oracles

The official documentation is the best place to start. Bear in mind that the dev team is reachable on Slack, Gitter, and Telegram.

During the release of iExec V3 in May, we sealed a strategic partnership with B9Lab, introducing 500 developers to the iExec stack.

We’ve funded 4 Gitcoin issues covering 4 different projects. Successful developers will be rewarded with $100 in RLC. If you’re interested in getting involved and learning about iExec and decentralized oracles, you can contribute to any of the below oracle projects.

https://gitcoin.co/explorer

1- Soccer Scores DOracle (Gitcoin / Github)

  • Use case: soccer game betting platforms
  • Data source: soccer game API (example)
  • Input: a soccer game ID
  • Output: official final score

2- Flight Delay Detector DOracle (Gitcoin / Github)

  • Use case: flight insurance services
  • Data source: a flight API (example)
  • Input: a flight ID
  • Output: delay in minutes

3- Bitcoin Transfer Verifier DOracle (Gitcoin / Github)

  • Use case: ICO crowdsale smart contract
  • Data source: a Bitcoin explorer (example)
  • Input: a BTC transaction hash
  • Output: BTC transfer amount

4- TLS Notary DOracle (Gitcoin / Github)

  • Use case: on-chain TLS proof of web content
  • Data source: user input (must be a URL)
  • Input: any URL
  • Output: URL content + its TLS proof

What do I need to do

An iExec DOracle needs two parts: Off-chain dockerized application, and on-chain smart contract.

1. Dockerized application (off-chain) You need to write a logic that does the following steps:

  • Fetch the data from the API
  • store the hash of the result in the determinism.iexec file
  • store the encoded result (using ABI.encode) in the callback.iexec file

Then, push you docker image on Dockerhub, and deploy it on iExec using the SDK.

2. Smart contract (on-chain)

  • Edit the provided template by filling your app ID
  • Use truffle to deploy the smart contract

Got another oracle idea? Get a chance to be rewarded in RLC!

Thinking of an oracle that is not in the list? Feel free to share your ideas in this form. The first idea that gets selected for implementation will be rewarded with $100 in RLC. All subsequent ideas selected will get $20 in RLC.

iExec Ideas Box

To provide a nice interface for these DOracles, expect four more Gitcoin issues to be published in the coming weeks.

As a final note, we’ll soon be publishing a complete step-by-step tutorial on how to deploy a DOracle, so stay tuned!

Interested in following the iExec project? What’s next?
Before iExec V4 (the high-performance computing version with GPU support) is released this year, we’ll be giving more news on the recent developments of each of the recent announcements. To be the first to know and get exclusive updates, subscribe to the iExec newsletter and follow on social media.

WebsiteSlackTelegramTwitterFacebookLinkedInYoutubeGithubTechnical Documentation

--

--

Julien Béranger

DevRel at Arthera | Member of the W3HC | Co-founder of Āto | Founder of Strat | Volunteer at Emmaüs Connect