augur-ui

Augur UI
授权协议 MIT License
开发语言 JavaScript
所属分类 Web应用开发、 常用JavaScript包
软件类型 开源软件
地区 不详
投 递 者 尹小云
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

augur | client

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:

  • You also can use Metamask to create a rinkeby account (easiest)After you install Metamask web browser plugin, you can change the Network to Rinkeby and choose the create account menu option

  • Download geth and create rinkeby account(download geth)[https://www.ethereum.org/cli](geth account commands)[https://github.com/ethereum/go-ethereum/wiki/Managing-your-accounts]

    geth --rinkeby account new
    

    After putting in your passphrase you will get your address. You can get your secret/private key and import into metamask and connect to augur UI. Location of keystore file depends on os. ie. ~/Library/Ethereum/rinkeby/keystore/<'UTC--timestamp--account hash'>. This file can be used to extract private key. Instructions are beyond the scope of this readme.


Easiest:

Overview

We are hosting the UI for testnets, dev.augur.net points to rinkeby ethereum testnet nodeSimply 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).

  • Here are the versions we used for development.
    node: 10.15.0
    npm: 5.6.0
    yarn: 1.7.0
    docker: Docker version 18.06.0-ce

Build From Source

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 nodedockerized 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 DocumentationJavascript 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

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

  • Element-UI对于文件上传组件的功能点着重于文件传递到后台处理,所以要求action为必填属性。 但是如果需要读取本地文件并在前端直接处理,文件就没有必要传递到后台,比如在本地打开一个JSON文件,利用JSON文件在前端进行动态展示等等。 下面就展示一下具体做法: 首先定义一个jsonContent, 我们的目标是将本地选取的文件转换为JSON赋值给jsonContent 然后我们的模板文件