Skip to content

berrydata/BerryCoreV1

Repository files navigation

Berry Oracle

Berry Oracle is based on Tellor Oracle version 1.0.3, improves token economics, and deployed on Binance Smart Chain. It provides one price feed solution on Binance Smart Chain for Peer to Peer Mode. User can request price feed by add tip, and Berry miner will provide data to Berry decentrialized oracle. Tellor works as bitcoin's POW, but its token does not work as Bitcoin, it is unlimited. Berry follows Bitcoin period halfing token supply rule.

Instructions for quick start with Truffle Deployment

Follow the steps below to launch the Oracle contracts using Truffle.

  1. Open two terminals.

  2. On one terminal run: Clone the repo, cd into it, and then run:

    $ npm install
    $ truffle compile
    $ truffle migrate

Testing through Truffle

  1. On the second termial run:
  $ ganache-cli -m "nick lucian brenda kevin sam fiscal patch fly damp ocean produce wish"
  1. On the first terminal run:
  $ truffle test
  1. And wait for the message 'START MINING RIG!!'
  2. 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 Berry Oracle without truffle are available here: Detailed documentation for self setup

Overview

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 Berry oracle is a decentralized oracle. It provides an option for contracts to securely interact with and obtain data from off-chain.

Berry implements a staked PoW where miners have to deposit Berry Tributes (berry'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 berry 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.

How it works

A deep dive in methodology is available here: In-Depth Overview

Useful links

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/

How to Contribute

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 Berry.

Contributors

This repository is maintained by the Berry team - www.berrydata.co

Releases

No releases published

Packages

No packages published