AugurProject / augur-ui

Augur UI
https://dev.augur.net
MIT License
399 stars 100 forks source link
bem css-modules ethereum react redux ui webpack webpack3

augur | client

Build Status Coverage Status Language Grade: JavaScript

Augur is a decentralized prediction market platform built on Ethereum. It runs locally in your browser and communicates directly with the ethereum network, without going through intermediate servers.

There are several configurations to run it on testnet:

Production:

There is an electron app that contains augur-node and augur UI. This app allows the user to point to testnets and mainnet. Augur App. It is a faster way to interact with mainnet because augur-node is local. Enjoy!


Rinkeby Ethereum Account

In the following configurations we use rinkeby testnet, here is how to get an account:


Easiest:

Overview

We are hosting the UI for testnets, dev.augur.net points to rinkeby ethereum testnet node Simply point your web browser to dev.augur.net


Partial Local

Overview

We'll run the UI locally and use the rinkeby augur-node. We will build and host the UI locally and use the same env.json configuration as the 'Easiest' section.

Requirements

A Note to Windows 10 Users: Turn on Developer Mode and also enable Windows Subsystem For Linux so that you have access to bash. Run all subsequent commands within the bash command prompt. It's also recommend that you use a Debian based workflow for the installation of packages (makes things much easier).

git clone https://github.com/AugurProject/augur-ui.git
cd augur-ui

npm

npm i
npm run build

yarn

yarn
yarn build

This will create a build folder inside of the augur-ui directory with all the files necessary to run the client. Simply copy these files to your web server of choice.

Docker

After git cloning UI source let docker build UI and create a docker image. Then run the docker container (from just built image) that will host augur UI locally and usings rinkeby augur-node and rinkeby ethereum node dockerized augur-ui client

Prettier

We are using prettier to maintain formatting standards.Please install the relevant editor extension for your editor.


Run everything Locally

These instructions go through running local ethereum node, augur-node and augur UI. This will create a local environment contracts loaded with canned data.

Full instructions are here dev-local-node

Additional resources:

JSON RPC API Documentation Javascript Console

Documentation

http://docs.augur.net

Contributing

We use Clubhouse.io for our issue tracker. If you would like to contribute, please join us on Discord (https://discordapp.com/invite/JwEtX9P) and provide us with your email address so we can grant you access to our Clubhouse.

Development Tips

1: Search the project filenames for whatever you are looking for before thinking about it too much.

Since our code is structured in many small files that are named the same as the state/functionality they represent, rather than try to follow and reverse engineer code paths, just blindly search all filenames for whatever it is you are looking for. More often than not, you will find what you need.

Want to know where the css for pagination is? Don't bother tracing where/how they're included, just search your files for pag >>>and pagination.less will pop up.

Want to see how the login account gets updated? Search the files for login >>> and update-login-account.js will appear.

2: Verify endpoints the UI is connected to

To verify the ethereum node and augur-node the UI is connected see the Configuration at: http://localhost:8080/config/env.json

Sponsorships

BrowserStack

As an open source project, we'd like to thank BrowserStack for providing free access to their environment testing platform!