Chainlink Market Reference Data and the Analytical Future
By: Jonny Huxtable
Tags: Blockchain, Chainlink, Smart Contracts, Link

Feeds Support

Since the Chainlink network went live in May, we’ve been seeing a steady but reliable increase in the amount of Ethereum projects needing to utilise Chainlink for their pricing data. At the point of writing, there’s currently 14 live-on-mainnet projects that all utilise the feeds, providing flexible but reliable inputs for anything from derivatives trading, insurance, and basket products.

For anyone who is interested in Chainlink, whether that is just as a crypto bystander or a ecosystem developer, it’s important to ensure that there is a service which provides an overall top-down view of the network - which is where LinkPool comes in.

The Chainlink Market now has native integration with all current forms of Chainlink reference data feeds. This update gives users a place to see what feeds are currently deployed and active, which nodes participate in them, and what endpoints or adapters they’re using to provide that data.

Contract Discovery

Unlike the official Chainlink Feeds app, the Market doesn’t require approval for a feed to be displayed. It automatically discovers and lists any feed it finds deployed on any Ethereum network. We like to think of this development as turning the Market into more of a block-explorer for the Chainlink ecosystem, showing new deployed contracts as a feed immediately after on-chain confirmation.

This isn’t limited to just the discovery of new feeds, the Market will listen to any changes that happen on-chain. Whether there’s a new aggregated answer, a change to the oracles serving the feeds, or an update to the jobs themselves — it’ll be picked up and displayed in real-time as soon as the changes are made on-chain. We also keep track of the times when the contract was first or last updated, providing clarity on how old the feed actually is.

Contract Types

Due to Chainlink being a protocol rather than a specific, inflexible service; it allows for different contract implementations for each feed, ensuring that the requirements of each use-case for external data are properly met. This has meant that the implementation within the Market has been created to be generic, allowing new contract types to be easily plugged in and providing the same data granularity with minimal effort.

Initially, the Market supports all existing forms of Chainlink contract types:

Aggregator: the most common and widely deployed version of a Chainlink client. Used by the majority of main-net projects.

Pre-Coordinator: the contract that provides “service agreements” within the Chainlink protocol. Returning signed agreements between a quorum of node operators for a fixed contract length.

Flux Aggregator: an implementation of the aggregator contract that utilises the yet unreleased Flux Monitor feature within Chainlink.

As the discovery section above states, if there’s ever a new deployment of any of these new contracts, the Market will discover it in real-time. If there’s any other new extension of the Chainlink protocol that results in a new contract type, the Market will also support it.

Feed Matching

Along with the discovery and listing of each feed, the Market will also scrape external services to collect and display additional information related to the feed. For example, in this first release, the Market directly interacts with the Chainlink Feeds app to scrape information for the existing feeds, then mirrors that information within the Market. This includes information such as:

Base & quote pairs

Answer precision

Currency symbol

Deviation thresholds

Heartbeat intervals

Being able to fetch and display this information for each relevant feed results in a much clearer view of each contract, and the accuracy of the data it returns.

Much like the support for extra contract types within the Market, the services in-which feeds can be scraped from is also modular. This allows us to aggregate information around each feed directly into the Market, regardless of where the feed originated.

For example, if a third-party company deploys and manages their own Chainlink feeds for anyone they interact with, we can develop support to interact with that third-party service to fetch similar data about the feed, creating a single source of truth, or unified view.