Bodhi Development update: Dec. 18, 2017

Bodhi
3 min readDec 18, 2017

--

Just wanted to update you fellow Bodhians about our current progress of our Bodhi Predication Market!

We have been making good progress to our timeline goals and hope to bring you all a working testable product by the end of the year.

Bodhi-Core — Smart Contracts

We have cut an initial release for our 1.0.0-alpha version. But don’t worry, there will be some forthcoming updates that are currently in the works.

We’ve created a flowchart of how our prediction market will go:

Bodhi Prediction Market Flowchart

For original image: https://goo.gl/uq1Y4c

  1. Anyone can create a new TopicEvent via our EventFactory contract. Don’t worry, this will be an easy process through our Bodhi-UI (BUI). For this walkthrough, we will say for for instance someone wanted to create an event of: Who will win the NBA Finals in 2018? with the possible results as: Warriors, Rockets, Cavaliers, Celtics
  2. When the TopicEvent is created, a CentralizedOracle will also be created at the same time.
  3. QTUM coin holders can start betting on one of the four results (Warriors, Rockets, Cavaliers, Celtics) via the CentralizedOracle. Once again, our BUI will provide you an easy way to do this.
  4. Once the 2018 NBA Finals are finished, the result can now be set. There can be two paths of the CentralizedOracle:
    a) The designated CentralizedOracle will be able to set the result as intended.
    b) The CentralizedOracle does not set the result in time and so anyone can decide to take their place and set the result.
    The CentralizedOracle will have to deposit BOT in order to set the result. For our NBA example, say the Warriors actually won the 2018 NBA Finals, but the CentralizedOracle decides to give bad information and set the wrong result as the Cavaliers.
  5. A DecentralizedOracle automatically gets created and users can vote on a result that was not the last result. In our example, since the Cavaliers was set as the result, users can now only vote on the other three options: Warriors, Rockets, Celtics.
  6. Users can now correct the CentralizedOracle’s wrong result by voting on the correct result: Warriors. Users will have to vote enough (with BOT) on a single result to surpass the Consensus Threshold. Once this threshold is passed, this DecentralizedOracle’s result will now be the current winning result.
  7. Another DecentralizedOracle automatically gets created when the Consensus Threshold is passed. Users can continue to vote (if they choose to), but not on the last winning result: Warriors. Since people should be in agreement that the Warriors are the actual result, this DecentralizedOracle voting period will eventually hit the voting end block. Now the winning result is the true and correct result: Warriors.
  8. Anyone can now call the contract via the BUI to finalize the result as the Warriors.
  9. Users who voted on this result can now withdraw their winnings.

Bodhi-UI (BUI) — Easy to use Graphic User Interface

We have made progress on the steps of our TopicEvent creation, betting/voting, and result setting flows.

Bodhi-Graphql — Local Backend datastore

The synchronizer is almost at completion and ready to be integrated in our BUI. This will give us real data directly from the blockchain and put us one step closer to having a fully functioning machine.

Bodhi-API — HTTP Interface to interact with Qtum blockchain

Most of the APIs have been created and tested via Postman. These will be integrated on our BUI to make the experience as seamless for you, our users.

--

--