The integration of Chainlink oracles with Agoric smart contract platform aims to enable the use of decentralized finance (DeFi) data and events in JavaScript smart contract applications.
According to Agoric, Chainlink oracle solution is able to provide high-quality data regarding prices, FX rates, interest rates, and more, in a safe and reliable way. Chainlink uses blockchain to ensure data cannot be manipulated or tampered with. It can use data coming from other blockchains or directly from the real world.
Previous to the Agoric-Chainlink integration, developers needed to build their own price data feeds, which is time-consuming, requires upkeep, and comes with unforeseen security risks due to the many nuanced and overlooked challenges of building a secure oracle solution.
The general idea behind a decentralized oracle like Chainlink is to incentivize good behaviour by means of a consensus algorithm that penalizes the behaviour of bad actors. This eventually leads to bad actors' data being eventually rejected by the network. Once the data is accepted within the network, the usual blockchain guarantees ensure it remains unaltered.
The main appeal of Agoric as a platform to develop smart contracts is its use of JavaScript, as opposed to some less widely spread and known language, such as Ethereum’s Solidity.
Agoric’s platform makes smart contract creation more accessible for developers, requiring fewer lines of code while using a familiar development environment via the world’s most popular programming language.
Actually, Agoric is using two subsets of JavaScript they defined: Secure ECMAScript (SES) and Jessie. While Jessie is a very narrow subset of the language that aims to enable writing highly reliable code, SES is the maximal subset of JavaScript that makes it possible to use object orientation in a secure way. For example, SES defines the notion of "security preserving reflection" and fosters the use of Object.freeze
to enable defensive programming. Jessie instead makes it away with object orientation, mutable properties, and many other JavaScript features.
To get started with Agoric and Chainlink you can fork Agoric Dapp oracle repo.
Smart contracts are programs which aim to execute and control legally relevant events according to the terms of a contract. In particular, they enable transferring cryptocurrencies from one address to another when specific conditions are met. Oracles used to bring real-world data onto the blockchain through smart contracts.
Chainlink is currently available on Agoric's testnet, while the official launch on Agoric's mainnet is planned for 2021.