Augur is a decentralized oracle and peer to peer protocol for prediction markets. Augur is free, public, open source software, portions of which are licensed under the General Public License (GPL) and portions of which are licensed under the Massachusetts Institute of Technology (MIT) license. Augur is a set of smart contracts written in Solidity that can be deployed to the Ethereum blockchain.
Augur is a protocol, freely available for anyone to use however they please. Augur is accessible through a desktop client app, similar to interacting with an Ethereum or Bitcoin node. Users of the Augur protocol must themselves ensure that the actions they are performing are compliant with the laws in all applicable jurisdictions and must acknowledge that others’ use of the Augur protocol may not be compliant. Users of the Augur protocol do so at their own risk.
For more information about the Augur protocol, check out the FAQ.
This repository will soon become Augur's monorepo. For the time being, this repository is being used for global issues, pull requests, and project milestones. Click on the issues board below to browse active projects, development pipeline, weekly sprints and more.
NOTE: Run yarn
at the base of the repository to install dependencies before running any of the following.
Command | Purpose |
---|---|
yarn build |
Build all everything but the UI once. |
yarn build:watch |
Build everything but the UI continuously. |
yarn build:clean |
Remove JUST typescript build artifacts |
yarn clean |
Remove everything that isn't currently being tracked by git (node_modules, build aretifacts, etc.) |
Run the following 4 commands, each in a separate terminal session from the root of the project.
yarn; yarn build:watch
yarn workspace @augurproject/tools docker:geth:pop-15
- 15 second block times, real time, has contracts and canned market data
yarn workspace @augurproject/tools docker:geth:pop
- 5 second block times, fake time, use flash scripts to move time manually. has contracts and canned market data
yarn workspace @augurproject/tools docker:geth:pop-normal-time
- 5 second block times, real time, has contracts and canned market data
yarn workspace @augurproject/tools docker:geth
- 5 second block times, no contracts uploaded, use
dp
to upload contracts ...
- 5 second block times, no contracts uploaded, use
yarn workspace @augurproject/node clean-start
yarn workspace @augurproject/ui dev
All parts of Augur are entirely open source. You can view, edit, and contribute to Augur via the repositories hosted on GitHub!
- Augur Core - The core implementation of the Augur Project as Smart Contracts written in Solidity for the Ethereum Network.
- Augur.js - Javascript library for Node.js and the browser to help you communicate with the Augur smart contracts, and Augur Node.
- Augur Node - Helper application to aggregate the activity of the Augur community on the Ethereum Network. Allows you to quickly build responsive and performant user interfaces.
- Augur UI - A reference client UI which uses Augur Node and a connection to the Ethereum Network to interact with the Augur community.
Developer documentation is available on the Augur documentation site. If you find any mistakes or want to add any clarifications, you can submit pull requests for updates to the GitHub repository.
If you're interested in going in-depth with Augur, the Augur whitepaper provides an in-depth look at the game theory behind the Augur protocol.
Augur needs community support to find and fix issues in the protocol, middleware, client libraries, and applications. If you have an issue, or find a bug please create an issue with any information needed to recreate the problem.
If you're a developer wanting to contribute to the Augur community, please check out the open issues and feel free to propose fixes by submitting a pull request to the appropriate repository.