UPDATE, November 17th:

Currently the docker setup is broken. As soon as it is fixed we will remove this note.

Welcome Developers

First steps to build applications on Gnosis

As a decentralized, permissonless platform, we want to make it as easy as possible for others to use what we have built. Whether you want to use prediction markets to detect spam emails, predict climate change, or to govern a DAO, the use cases are huge.

1) Gnosis-Dev-Kit

Clone Gnosis-Dev-Kit repository:

> cd gnosis-dev-kit

> docker-compose build

> docker-compose up > git clone https://github.com/gnosis/pm-scripts > cd gnosis-dev-kit> docker-compose build> docker-compose up

This is all that is needed to set up a docker image and run a local version of Gnosis smart contracts on testRPC, GnosisDB, and the simple management interface served on http://localhost:5000/.

(NOTE: these steps will take ~10 min and require a good internet connection)

Tip: disable Metamask, TestRPC automatically signs transactions for you

2) GnosisJS

Now you can start playing around. Go to -> “Markets” -> “Create market” to create your own market.

This will do a bunch of steps for you:

1) Create an event description and store it in GnosisDB and IPFS

2) Create an oracle contract for the event

3) Create the “event contract”

4) Create a “market contract”

5) Fund the market contract

Get the full picture here

As a developer, you don’t want to rely on a given UI for those steps that only give you a very limited set of options. Create your own event directly with GnosisJS. GnosisJS is a Javascript library that allows you to directly interact with the Gnosis platform via JS. Find a documentation about how to create an event here.

Can you create an event and market that will then show up in the management interface? Try it!

3) Build your own app.

You can fork the management interface as a starting point or start from scratch. Maybe you want to build a Futarchy that can play a game like

Connect 4. For each possible move, a conditional market will be created (What is the likelihood to win the game under the condition that I will do THIS move). Later, the move with the highest winning likelihood will be automatically picked. Find more ideas here and here.

For help from the Gnosis team, join https://gitter.im/gnosis/Lobby