JavaScript CSS Other
Switch branches/tags
Latest commit 98e2185 Sep 4, 2017 @stephensprinkle stephensprinkle updated build
Permalink
Failed to load latest commit information.
.vscode Adds launch VSCode configuration. Mar 12, 2017
azure Added button CSS Nov 8, 2016
build updated build Sep 4, 2017
docs updated conventions + prevent transaction transition when paginating May 2, 2017
hooks tweaked trading Aug 10, 2016
scripts also extend timeout for coveralls May 10, 2017
src additional fix Sep 4, 2017
test rollback test Sep 4, 2017
.babelrc adjusted coverage script + clarified comment Apr 14, 2017
.editorconfig updated editorconfig + linting rule for indent Jan 12, 2017
.eslintignore fix to webpack config for node 4.2 support + linting ignores Dec 15, 2016
.eslintrc disabled 'newline-per-chained-call' linting rule, allowing for single… May 31, 2017
.firebaserc updated firebase deploy target Jun 2, 2017
.gitignore Added coverage to .gitignore Apr 18, 2017
.npmignore Call updateAssets immediately after register; added watchify script; … Jan 3, 2016
.stylelintrc fixed deprecation warnings for linting Mar 21, 2017
.travis.yml also extend timeout for coveralls May 10, 2017
Dockerfile Changes workaround to removing `yarn.lock`. Jan 31, 2017
README.md clarification to commands required for developing augur Aug 28, 2017
browserslist inclusion of the browserslist for autoprefixer + merged the conventio… Dec 13, 2016
deploy.sh Updated deploy script May 10, 2017
firebase.json Updated firebase.json format Jun 14, 2016
package.json removal of cruft Aug 22, 2017
postcss.config.js refactored indent of root dir files Jan 12, 2017
server.js miscellaneous check for indentation + `root` check Jan 16, 2017
snapcraft.yaml Add build packages Dec 14, 2016
update-local.sh Fixed update-local Dec 28, 2016
webpack.config.js cleanup + refinement to HMR Jun 20, 2017
yarn.lock title set declaratively on component render Jul 12, 2017

README.md

Augur | Reference Client

Build Status Coverage Status

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 ways to run it:

Requirements

Git
Node or Docker

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

Build From Source

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

NPM

npm i
npm run build

Yarn

yarn
yarn build

Docker

docker build -t augur .

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

Develop

NPM

npm i
npm run dev

Yarn

yarn
yarn dev

Docker

docker run -p 8080:8080 augur

Visit http://localhost:8080

Run Ethereum Locally

There are a number of ways to go about running an Ethereum local node against Augur, described below is the CLI method using geth.

Start off by installing geth.

Depending on how you'll be running Augur (Development OR Production), follow the corresponding steps below:

NOTE -- Unless you have a specific reason for doing so, generally you should not simultaneously run geth and another Ethereum client (such as Mist or Parity).

Development -- Testnet (Ropsten)

Create an Ethereum account (if needed):

geth --testnet account new

Be sure to securely store your password and remember the account address (displayed after account creation).

Start geth:

geth --testnet --unlock 0 --rpc --ws --rpcapi eth,net,shh,admin,txpool,web3,personal --wsapi eth,net,shh,web3,admin,txpool,personal --rpccorsdomain '*' --wsorigins '*' --cache 2048 console

Additional points of note:

  • The value supplied to --unlock should correspond to the account you'd like to be using for Augur transactions.
    • To get a list of accounts and their numerical value run geth account list.

Production -- Main Network

Important note: the Augur contracts have not yet been uploaded to the live Ethereum network, and therefore Augur is not yet available on the mainnet. The following instructions are here as a placeholder for when our contracts are uploaded to the mainnet.

Create an Ethereum account (if needed):

geth account new

Be sure to securely store your password and remember the account address (displayed after account creation).

Start geth:
Important -- The following command will be using real Eth (Main Network) and is potentially more permissive than necessary for your use case.
DO educate yourself surrounding the arguments and determine which are appropriate for your specific use case.

geth --unlock 0 --rpc --ws --rpcapi eth,net,shh,admin,txpool,web3,personal --wsapi eth,net,shh,web3,admin,txpool,personal --rpccorsdomain '<domain of server>' --wsorigins '<domain of server>' --cache 2048 console

Additional resources:
JSON RPC API Documentation
Javascript Console

Additional points of note:

  • The value supplied to --unlock should correspond to the account you'd like to be using for Augur transactions.
    • To get a list of accounts and their numerical value run geth account list.
  • The values supplied to --rpccorsdomain and --wsorigins should correspond to the server's domain which is running the instance of Augur. BE SPECIFIC + DO NOT USE A WILDCARD

Documentation

http://docs.augur.net

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.