Table of Contents
- Instructions for quick start with Truffle Deployment
Follow the steps below to launch the Oracle contracts using Truffle.
Open two terminals.
On one terminal run: Clone the repo, cd into it, and then run:
$ npm install
$ truffle compile
$ truffle migrate
$ truffle exec scripts/01_DeployTellor.js
- On the second termial run:
$ ganache-cli -m "nick lucian brenda kevin sam fiscal patch fly damp ocean produce wish"
- On the first terminal run:
$ truffle test
- And wait for the message 'START MINING RIG!!'
- Kick off the python miner file ./miner/testMinerB.py.
Production and test python miners are available under the miner subdirectory here. You will need to get at least 5 miners running.
Step by step instructions on setting up a Tellor Oracle without truffle are available here: Detailed documentation for self setup
Ethereum smart contracts cannot access off-chain data. If your smart contract relies on off-chain (e.g. internet) data to evaluate or execute a function, you either have to manually feed the data to your contract, incentivize users to do it, or rely on a centralized party to provide the data.
The Tellor oracle is a decentralized oracle. It provides an option for contracts to securely interact with and obtain data from off-chain.
Tellor implements a staked PoW where miners have to deposit Tellor Tributes (tellor's native token) to be able to mine and along with the PoW solution they also provide an off-chain data point. The first five miners to provide the PoW and off-chain data point are rewarded and the median is selected as the official value. Once validated and processed the value is available for on-chain contracts to use. The value can be disputed by anyone holding tellor tributes within one day after being mined for a fee. After the value goes to dispute, anyone holding tributes can vote on it's validity. If the vote determines the value was invalid the reporting party gets awarded the miner's stake, otherwise the wrongly accused miner gets the dispute fee.
A deep dive in methodology is available here: In-Depth Overview
High level inspiration from EIP918 Mineable Token.
Why we need a decentralized option? Checkout: "Trusted third parties are security holes" ~ Nick Szabo, 2001
Metamask - www.metamask.io
Truffle - http://truffleframework.com/
Check out or issues log here on Github or contribute to our future plans to build a better miner and more examples of data secured by Tellor.
This repository is maintained by the Tellor team - www.tellor.io
Tellor Inc. 2019