Smart contracts are an outgrowth at the intersection of both the data/API economy and automation, using blockchain networks as highly secure infrastructure for hosting and automating the execution of multi-party processes based directly on data inputs. A few examples include: a financial derivatives contract settled automatically upon receiving market data, a crop insurance payout triggered directly by weather data, or a trade finance bank payment automated after IoT data confirms the shipment has arrived in good condition. While the possibilities of a data-driven smart contract economy are endless, there is one inherent problem, blockchains do not have built-in capabilities to talk to external systems and make API calls, often referred to as the oracle problem.
Chainlink overcomes the oracle problem and enables data providers to easily sell their data directly to all blockchains, without committing any additional resources or operating any new infrastructure. In this post, we’ll describe the two methods in which data providers can utilize the Chainlink software and its oracle network to quickly monetize their data for use within all blockchain networks.
- Sell Using Existing APIs– sell your data to the Chainlink Network in less than an hour without any modifications to your existing business model or backend infrastructure
- Provide More Reliable Data – sell even more data by launching a node on the Chainlink Network in a few hours, providing you with new data signing capabilities that increase the reliability of your data within automated blockchain-based solutions
Before discussing each method in-depth, let’s briefly examine why oracles are essential to connecting data vendors and API providers to smart contracts.
Why Oracles are Necessary for Data Providers
Smart contracts are codified business logic (if x event happens, then execute y action) that runs on the blockchain, making its execution inherently deterministic and its results definitively true. As such, smart contracts offer major advantages over traditional contracts because they guarantee that the contract will execute as written and that the results are immutable, providing reductions in counterparty risk, reconciliation disputes, and process inefficiencies. However, blockchains provide these strong security and reliability guarantees at the expense of connectivity. Similar to a computer without Internet, smart contracts without oracles are isolated business logic without any knowledge of data stored or events occurring in the real world.
Oracles are the secure middleware that bridge the blockchain (on-chain) to the real world (off-chain), allowing smart contracts to interact with API services as both a means to both use external data to trigger a contract’s execution or send outputs to external systems. Simply put, oracles are the gateway for data vendors and API providers to monetize their existing infrastructure for use within blockchain networks. The oracle retrieves data from an API and posts it to a blockchain network, sends messages/instructions from the smart contract to external systems, and performs various validation techniques to ensure the data is accurate and resistant to manipulation.
Chainlink has established itself as the market leader in oracles, providing highly audited open-source software that powers decentralized oracle networks, such as Chainlink’s Price Reference Feeds. Chainlink is highly generalized and blockchain agnostic; it can provide any smart contract on any blockchain with connection to any external API resource, meaning data providers from every market can get blockchain-enabled through Chainlink.
Sell Data Simultaneously to All Blockchains Through Chainlink
There are hundreds of different blockchains supporting a wide variety of smart contract applications and use cases in finance, insurance, gaming, global trade, and more. As a data provider, integrating with all these different chains is both time-consuming and a strain on valuable resources that could otherwise be spent on core services as opposed to provisioning and maintaining infrastructure. As the adoption of blockchain technology grows, the number of blockchains will only continue to increase, further straining precious resources and developer bandwidth.
Instead of integrating with each blockchain individually, data providers can outsource the development work to Chainlink’s blockchain middleware, using its oracles as a single integration gateway to sell their data to any chain. Chainlink is already established across most of the leading blockchains, including Ethereum, Bitcoin, Hyperledger, Polkadot, Cosmos, Ava, and many more. Additionally, Chainlink has established an easy framework and bounty program to quickly onboard new blockchains as they arise and grow in user adoption. Not only does this allow existing data infrastructure to be immediately connected to all the leading blockchains today, but it offers data providers a futureproof solution that can support any upcoming blockchain that may become popular.
Integrate with Chainlink the Simple or Advanced Way
Knowing the challenges of introducing new infrastructure to an already established and expansive data/API economy, Chainlink was designed from day one to be fully compatible with existing legacy data and API infrastructure without requiring any back-end modifications or business model overhauls. In addition to this approach, we also make it very easy for existing data vendors and API providers to operate their own Chainlink Node (Oracle) as a means of expanding their product offering and selling data directly to smart contracts. By becoming a Chainlink Node operator, they have a built-in ability to provide an advanced set of data origin guarantees to users and accept on-chain payments directly, resulting in increased revenue and heightened security of their data.
These two highly complementary ways of using Chainlink provide maximum flexibility for existing data vendors and API providers wanting to get blockchain-enabled and further monetize their data infrastructure.
Use the Existing Chainlink Network to Quickly Start Selling Data
Data providers can sell data through their existing APIs to the Chainlink Network in less than an hour. The Chainlink Network of Nodes are able to aggregate on-chain demand for data providers, signaling where there is large market demand for key datasets, while allowing data providers to minimize their initial investment for selling data on-chain. This requires no changes to your existing business model either, as nodes pay for your API calls in traditional fiat currencies like the US dollar, no different than other users of your APIs today. There are already numerous high-quality API providers that are already accessible via Chainlink, such as Google BigQuery data sets, CoinGecko, National Oceanic and Atmospheric Administration (NOAA) weather data, and many more.
Chainlink abstracts away all the complexities around running nodes and handling cryptocurrency payments, allowing data providers to focus solely on providing quality data. This is a major benefit for the entire smart contract economy as it provides a clear path for making all the world’s data available on-chain without putting the onus on data providers to completely revamp their backend systems or business models to make themselves compatible with blockchains. Such a model accelerates the data cycle, leading to more smart contracts being developed, which generate more user demand for data-driven applications.
Join the Chainlink Network to Sell More Reliable Data
For data vendors and API providers who believe in the future of smart contracts and want to both earn more revenue and establish a strong reputation in this new data-driven market, they can run a Chainlink Node themselves as a means of providing origin signed data (using digital signatures) directly to smart contracts. Chainlink was built to support this functionality from day one and it’s already being leveraged in-production by multiple leading data providers, including Tiingo, Associated Press, and AccuWeather.
Our audited software is very easy to operate and we can help you quickly set it up to start selling origin signed data to smart contracts on every blockchain. By signing your own data with Chainlink Core node software, users have strong guarantees about the origin of the data, allowing systems to rely on it to automate the execution of large value contracts. Without such capabilities, it’s extremely difficult to develop automated business processes at scale or for high-value use cases.
In addition to the built-in data signing capabilities, data vendors and API providers using Chainlink will get access to a wide variety of specialized oracle technologies only available on the Chainlink Network, including privacy-preserving oracle technologies like DECO, Town Crier, Mixicles, and more. These advanced oracle technologies allow confidential data to be sold directly to smart contracts without revealing that data publicly on-chain or even to the oracle nodes themselves. Thus, sensitive and/or proprietary data becomes monetizable without the usual privacy or piracy concerns.
The best part is that data providers can get a Chainlink Node quickly spun up and ready to sell data to smart contracts in less than 10 minutes. Chainlink is an open-sourced technology just like Linux and Python, so you don’t need our or anyone’s permission to set anything up, you can just go. However, if you want help with the process, don’t hesitate to reach out to us in our Discord or by setting up a call.
Launch Your Data Source’s Chainlink Node in 10 minutes
Now that you know why you as a data provider should become a part of the Chainlink network, let’s show you how. This will be the setup guide for running a Chainlink Nodes on the Ethereum blockchain, but Chainlink is blockchain agnostic and can work on any chain, with more and more integrations happening everyday.
Running a Chainlink Node only requires a few simple DevOps steps. All you need is:
- A VM or machine
- A postgres database (10 GB is fine)
- An Ethereum wallet
- An Ethereum client (don’t worry about what this is if you don’t know)
Everything in this article is in the Chainlink documentation. For more detailed step-by-step instructions, we encourage you to head over there, but this article can show you how to set up using a quick-start model.
Step 1: Install Docker
You can check your specific machine type to find out how to do this. If you’re using Ubuntu for example, you can just run:
curl -sSL https://get.docker.com/ | sh sudo usermod -aG docker $USER exit # log in again
Step 2: Make a `.env` file
mkdir ~/.chainlink echo"ROOT=/chainlink LOG_LEVEL=debug ETH_CHAIN_ID=1 CHAINLINK_TLS_PORT=0 SECURE_COOKIES=false GAS_UPDATER_ENABLED=true ALLOW_ORIGINS=*" > ~/.chainlink/.env
This will be all the variables needed to run your Chainlink Node.
Step 3: Set your ETH Client
In order to interact with the Ethereum blockchain, you need a node to read and write events on the network. We can either run an Ethereum node, or utilize a third party ETH client service. For now, we will just use Fiews.io. They are free to start and are tailored specifically for Chainlink Nodes. Simply signup for a key and grab the URL associated with mainnet; then run:
echo "ETH_URL=URL_HERE" >> ~/.chainlink/.env
Step 4: Connect your database
To run a Chainlink Node, you’ll want to use a postgres database. One of the easiest ways to connect is to just add the database URL to the .env file. This external database allows for seamless oracle client redundancy (ensuring reliability) and can be hosted on any cloud service, self-hosted machine, or otherwise.
echo "DATABASE_URL=postgresql://$USERNAME:$PASSWORD@$SERVER:$PORT /$DATABASE" >> ~/.chainlink/.env
Step 5: Start it up!
Now you can start your Chainlink Node!
cd ~/.chainlink && docker run -p 6688:6688 -v ~/.chainlink:/chainlink -it --env-file=.env smartcontract/chainlink local n
You’ll be prompted for an email and password the first time, and then you can log into the GUI by going to http://localhost:6688.
And you’re in! You now have a Chainlink Node running.
A popular way to run a Chainlink Node is in the cloud, which we have provided a step-by-step video documenting how to do so. While we won’t go over some of the best practices for running a Chainlink Node here, just know that all the best practices that apply to databases also apply to running a Chainlink Node. You’ll want multiple redundancies, high availability/uptime, and automated disaster recovery so that your node always stays online and is highly performant.
It’s quite clear that access to external APIs is the key to accelerating blockchain and smart contract adoption, and it’s a trend that’s already well in motion. The more data available on-chain, the more innovative smart contract applications that get built, cultivating a growing user base to sell data to and build smart contracts for. This data cycle will continue to grow in size and demand, penetrating numerous multi-trillion dollar industries and benefiting data providers who establish a strong reputation early as a reliable source of external data in the smart contract economy.
With Chainlink already having the largest network of users in the smart contract economy, data providers will have access to a large market of potential customers, as well as the tools to make any of their data/APIs available across any blockchain no matter the level of confidentiality required. Standardized smart contract templates will emerge, and developers will often just copy the time-tested and industry-approved standard when it comes to contract logic and oracle designs. Thus, being a go-to data provider for the most widely adopted oracle network will provide massive opportunities to quickly expand your user base by default as others want to use that same model in their own design.
We see a massive opportunity for data vendors and API providers to use Chainlink to expand their business model and play a major role in the future backed infrastructure of decentralized economic and social systems. We want to help you get quickly connected today, so please feel free to set up a call to discuss your integration, reach out in Discord with technical questions, or follow our documentation for how to test and run Chainlink infrastructure.