Announcing the Provable + OpenZeppelin Starter Kit integration
Today we are launching the Provable Starter Kit with all you need to kickstart the development of a DApp that interacts with oracles. Provable and OpenZeppelin share a commitment towards making blockchain technology easier for developers. For this reason, we have joined efforts to create a Starter Kit that includes and supports the Provable toolset.
About OpenZeppelin Starter Kits
OpenZeppelin Starter Kits are bundles that contain all the tools and technologies you need to start building decentralized applications right away. The kits aim to support developers across all levels of the stack — from OpenZeppelin Contracts to write the code, Infura to deploy it, Ganache for a local testnet, to web frameworks and UI components such as React & Rimble.
Provable is a pioneer in the field of blockchain oracle solutions — it provides a data-transport-layer for smart contracts to connect with Web APIs. Provable has been operating such service since 2015 and over one thousand projects have been built on it.
Blockchain technology is a powerful tool. As infrastructure providers, we have the responsibility of lowering the barrier of entry for people who want to enable a decentralized world. Collaborative activities among the community go a long way in increasing the likelihood of decentralized systems to succeed — they are essential to creating a coherent, interoperable ecosystem where Decentralized Applications can flourish. Starter Kit is a clear example of this.
Smart contracts & External Data
This Starter Kit connects with Provable to enable developers to connect with data-fetching services straight away while leveraging Ethereum best practices and tooling by the OpenZeppelin team, leader in blockchain security.
Blockchain startups aim to unlock new business models and capabilities to businesses across many verticals and industries. However, in most cases, real-world data is needed for Decentralized Applications to have a real impact. The problem is, smart contracts cannot natively reach out to fetch data outside of the blockchain ledger. Provable enables DApps to overcome such limitation by providing a secure connection for them to fetch data.
The Provable Starter Kit makes it easier for developers to get started with advanced smart contracts.
To leverage it developers simply need to install the Starter Kit and run it — a development network gets set up along with an automatically integrated Provable bridge giving access to the whole toolset.
At this point, developers are faced with the Provable interface and are ready to enrich smart contracts with external data. Using it in Solidity is as easy as inheriting the `usingProvable` contract. This will provide your smart contract with functions like `provable_query(…)`, which makes it trivial to use the service straight away.
Starter Kit is a one-stop-shop for Ethereum developers, there’s no need to install additional dependencies — everything you need is already there!
Connect to APIs & external data sources
Other than Web APIs, the service gives access to special data-sources as well — among others are Wolfram Alpha for simple query syntax, the Computation Datasource for off-chain execution of complex code and the Provable RNG for provably-fair TEE-backed generation of entropy.
While using Provable, the connection between smart contracts and web APIs is secured by Trusted Computing. Authenticity proofs are cryptographic guarantees proving that no tampering happened during the data delivery. Provable uses a variety of TEEs to back the data it delivers, including Amazon-backed TLSNotary proof, Google & Qualcomm-backed Android proof, and Ledger-backed Ledger proof.
Because Starter Kit includes other infrastructure tools as well, it is perfect to go from zero to hero! Using OpenZeppelin SDK, developers can compile, test, upgrade, deploy and interact with the smart contracts easily and then connect them with their React application.
How to Get Started
Install the required tools:
❍ npm i -g @firstname.lastname@example.org email@example.com firstname.lastname@example.org
Unpack the Provable starter kit:
❍ openzeppelin unpack provable-things/provable-starter-kit
Provable Starter Kit on GitHub: https://github.com/provable-things/provable-starter-kit