KlayOracle - An open-source oracle framework to securely integrate off-chain data with Klaytn smart contracts

Proposal

KlayOracle is an open-source oracle framework to securely integrate off-chain data with Klaytn smart contracts.

We are requesting for a $45,000 USD grant from the Dora GrantDAO to further assist with the early-stage development and deployment of KlayOracle. Please refer below for the project overview, milestones, team background, goals, and other information for your consideration.

Overview

Klaytn is an open-source public blockchain for building dapps for the metaverse. Due to its rapidly growing popularity, developers working on the Klaytn blockchain need access to multiple sources of publicly available and reliable data to use in their dapps.

KlayOracle is modeled after leading and existing oracles on the Ethereum and Solana blockchains such as ChainLink, Band Protocol, and Gravity. With KlayOracle, smart contract developers can access reliable and transparent data such as price data, sport data, weather data, random numbers or other external APIs, and easily integrate them within their Klaytn dapps.

Check out our BUIDL: KlayOracle | BUIDL | DoraHacks

Features of KlayOracle

We have already built a functional proof-of-concept of KlayOracle, with open-source code available on GitHub.

Some of the data sources currently supported by KlayOracle include:

Random Numbers

For example, the snippet below shows a sample job definition for getting random numbers from multiple feeds to be returned and used by an NFT smart contract or game contract for a dice-roll usecase. Developers can also define more sophisticated job specifications depending on their use cases.

Klay/USD Price Feed

Above is a job specification for an Oracle to get KLAY/USD price to be returned to a smart contract through an Oracle. The job defines data feeds that specify URLs to get the data and reducers such as PARSE, MUL to manipulate the data returned.

Interact with Node via Command Line

KlayOracle is bundled with the kloc command, which is used to interact with the KlayOracle node. It currently supports the following commands:

Lite Nodes

KlayOracle Node is very minimal in size and can watch and process hundreds of jobs easily (from current tests). This makes it easy to host your own node if you decide not to use publicly hosted ones. However, KlayOracle comes with a publicly hosted node which is currently free to access.

Customizable Adapter

A KlayOracle adapter defines the job specification for getting specific offchain data for an Oracle request. An adapter is made up of different parts, which are:

  • Status
  • Name
  • Job Type (Data Feed / Random Number)
  • Adapter ID (Unique 32-length string)
  • Oracle Address
  • Feeds (Which defines rules to manipulate offchain data to be returned to the Oracle contract)

Developers can easily create adapters of thier own to get price feeds, random numbers, or beyond that, make http requests for custom data intended to be passed to the smart contract e.g Weather Report data.

Demo of KlayOracle : KlayOracle Protocol - How it works - YouTube

KlayOracle Team

Oluwafemi Alofe | Linkedin | Email | Lead Developer

  • 3 years Co-founder of Corpreneur, a fintech company with 10k customers and $250k transaction processed during its operations.
  • 8 years Software Development background.
  • 2 years Crypto Savvy.
  • Solidity developer at Protofire, wehere he worked on the integrations team to integrate Chainlink with other EVM chains.
  • Ex- Forbes Accelerator fellow.
  • StackShift Fellow.
  • Celo Camp Batch 5 Accelerator fellow.

Paul Oladimeji | LinkedIn | Technical Documentation & Open-source Project Management

  • Experienced Software Product Manager in Fintech, robotics/AI, edtech, Web3.
  • Technical Writer.
  • PM at Nestcoin, building simple crypto products for Africans.
  • Former PM at Popular Robotics (Chinese Robotics & AI company), TeamApt (Nigerian fintech company).
  • Defi Talents (Frankfurt School Blockchain Center) Fellow.
  • StackShift Fellow.
  • Celo Camp Batch 5 Accelerator Fellow.

Funding Request

We are requesting for a $45,000 USD grant from the Dora GrantDAO to further assist with the early stage development and deployment of KlayOracle.

Funding Milestones

Milestone 1 – $10,000

So far, we have been able to accomplish the following milestones in the development of KlayOracle:

  • KlayOracle v0.0.5 Adapter
  • KlayOracle v0.0.5 Oracle Contract
  • KlayOracle v0.0.5 Node
  • KlayOracle Baobab Deploy
  • Website and Landing Page
  • KlayOracle v0.0.5 documentation
  • Video Tutorials

As you can see, we have made significant progress with the development of KlayOracle v0.0.5. However, there are still major development and documentation activities needed to ensure a more functional and standardized v0.0.5, and for this, we are raising $10,000. We estimate this milestone to be completed by Q4 2022. These funds will be deployed toward the following activities:

  • Complete KlayOracle v0.0.5 Node, and onboard test node runners and validators.
  • Deploy publicly-hosted KlayOracle node.
  • Add Weather data sources to adapter list.
  • Improve documentation & video tutorials, targeted at open-source contributors, node runners, validators and end-users (smart contract developers).

Milestone 2 – $35,000

Our second milestone is focused on getting KlayOracle ready for deployment on mainnet and public use. We also aim to make it more censorship-resistant and decentralized by implementing token-based reward systems for participants in the network. We expect this milestone to be completed by the end of Q1 2023. To achieve this target, we will deploy the funds to do the following:

  • Conduct a Smart contract and code audit – $10,000
  • Build and release KlayOracle Node V1.0 for testnet – $8,000
  • Build a token reward system for Node runner – $5,000
  • Build a token reward system for Node validators – $3,000
  • Get beta testers to build dapps on Klaytn testnet using KlayOracle – $2,000
  • Technical Writing & Content – improved documentation, tutorials (text and video) – $3,000.
  • Content Marketing & Technical Writing – developer support, community management, sponsored posts – $4,000.
  • Launch KlayOracle on Klaytn mainnet.

We hope for a positive response and continued support from the amazing GrantDAO and DoraHacks community.

Best,

Oluwafemi Alofe

Lead Developer, KlayOracle

3 Likes

Hi Oluwafemi, thx for sharing, the project looks really solid.
I would like to hear a bit more about the key differences between you and other oracles like Chainlink.
As far as I know, chainlink is also in the Klaytn Blockchain. What is your strategy to compete with them?
Thanks.

1 Like

Hello,

Thank you for taking an interest in KlayOracle and what we do.

Firstly, I’d like to point out that Chainlink is currently only active on the Klaytn Baobab Testnet and has not yet been made available on Mainnet, despite being in development since August 2021. They presently have two price feeds, primarily KLAY/USD and WEMIX/USD, and as you can expect, we also have both on KlayOracle and the Baobab Testnet. By building primarily on Klaytn at the beginning, we can more quickly launch features critically needed by developers on the Klaytn blockchain.

Secondly, our guiding principle is simplicity… Right now, anyone with a little technical know-how can set up a KlayOracle node and adapter more easily than they would Chainlink nodes and jobs. While this is expected with the simple data feeds we have now, KlayOracle’s simplicity is something we aim to maintain even with the addition of more complex data feeds.

We believe that by lowering the barrier to setting up nodes, oracles and adapters, we can onboard many more participants on the network. An increased number of nodes will help maintain secure and decentralized data on the Klaytn network, as more participants supply data, instead of just a few participants.

We envision ourselves as a less complex, less expensive alternative to Chainlink that also achieves genuine decentralization by enabling users to host more nodes (think x10 - x100 nodes than chainlink runs).

I hope this answers your question, but if you need more details, feel free to inquire.

Thank you,

Oluwafemi

1 Like