Orakl Network Data Feed

Description

The Orakl Network Data Feed is one of the main Orakl Network solutions. The goal of the Orakl Network Data Feed is to provide frequent data updates from off-chain to on-chain. The data feed is created from a submission pool that is composed of most up-to-date values reported by verified node operators.

A single data feed is defined by config, and can be accessed on-chain through a FeedProxy smart contract. The FeedProxy is an auxiliary contract that redirects read requests to Feed contract. The Feed contract holds all submissions from all node operators, and aggregated value that is served to consumers through FeedProxy contract.

Detailed specification for each feeds can be found in orakl-config as configs.json file. Every data feed is configured with 3 different intervals. fetchInterval, aggregateInterval, and submitInterval. OraklNode, which stands for new datafeed performing off-chain aggregation, will execute each jobs based on defined intervals. Datafeed is updated once the finalized value have been generated off chain among OraklNodes. address stands for the Feed contract address which takes the value for certain pair. feeds contains definitions to fetch and parse value from datasource.

The code is located under node directory and it follows modular monolith pattern. The entrypoints can be found from ./node/cmd directory, and its implementation codes can be found from ./node/pkg directory.

Setup and run

Please refer to README.md in ./node directory.

Architecture

Last updated