AugurProject / augur-app

Augur Desktop Electron Application
MIT License
222 stars 22 forks source link

Augur App


Augur App is a lightweight Electron app that bundles the Augur UI and Augur Node together and deploys them locally to your machine. The Augur UI is a reference client used to interact with the Augur protocols core smart contracts on the Ethereum blockchain. Augur Node is a locally-run program that scans the Ethereum blockchain for event logs relevant to Augur, stores them in a database, and serves the respective data to the Augur UI.

Installing Augur

Download the executable of the latest release for your respective operating system:

MacOS : mac-Augur-1.8.x.dmg

Windows : win-Augur-1.8.x.exe

Linux : linux-Augur-1.8.x.AppImage || linux-Augur-1.8.x.deb

Contents

  1. Running Augur
    1. Build - From Source
    2. Build - Binary
    3. Debian Repository
  2. Syncing Augur
    1. Ethereum Nodes
    2. Augur Warp Sync
    3. Parity Warp Sync
  3. Ledger Hardware Wallet
    1. Local SSL Cert
    2. Firefox Not Supported
  4. Debugging
    1. Logging
    2. Clear Config File
    3. Change UI Port

Running Augur

  1. Download the executable for your respective operating system, double click to install.
  2. Select your configuration: Mainnet, Local, Rinkeby, Ropsten, or Kovan.
  3. Select "Connect", and Augur App will begin to sync Augur Node in the background.
  4. When the sync progress gets to ~100%, the "Open Augur App" button will become clickable.
  5. Click it to deploy the UI locally in your browser.
  6. Authenticate using MetaMask, Edge, Ledger or Trezor.

Build - From Source:

If you want to run Augur App from source, you will need git and npm installed on your machine. Follow these steps:

# Clone this repository
git clone https://github.com/AugurProject/augur-app
# Go into the repository
cd augur-app
# Install dependencies
npm install
# Run the app.
npm run dev

Once the application is running, wait for the Sync progress to reach 100%, then the "Open Augur UI" button will light up and you can click on it to open the Augur UI. Note that the Augur App must remain open while using the UI, or it will stop functioning.

If the instructions above don't work try:

yarn
yarn run dev

Build - Binary:

Windows: npm run make-win  
MacOs: npm run make-mac 
Linux: npm run make-linux  
All: npm run make-all

Debian Repository:

You may also use apt to keep up to date with the latest Augur executable. Debian 9 ("stretch"), Ubuntu 16.04 ("Xenial Xerus"), and Ubuntu 18.04 ("Bionic Beaver") are supported.

Please download the augur key and add it to the apt keyring:

sudo apt-key add repo_augur_net.key

Add the the following to the file /etc/apt/sources.list.d/augur.list:

deb https://repo.augur.net/ augur stable

You may now run the following commands to install augur:

sudo apt update
sudo apt install augur

Syncing Augur

Ethereum Nodes:

Currently, there are two options for connecting to an Ethereum node:

Augur Warp Sync:

Within the Augur App UI, there is an option to import a warp sync file which contains the synced database needed for Augur to run. You can have a friend who has synced Augur export their warp file, and Augur App will sync almost immediately.

WARNING: BE AWARE YOU ARE TRUSTING THE SOURCE WITH YOUR AUGUR STATE. THEY COULD GIVE YOU BAD DATA. YOU MUST ENTIRELY TRUST THE SOURCE OF THE WARP SYNC FILE, AND THERE ARE SIGNIFICANT RISKS WITH USING UNTRUSTED WARP SYNC FILES.

Parity Warp Sync:

By default, Parity uses "warp sync" mode (sometimes referred to as "fast") to sync the blockchain. While this mode does sync significantly faster, it causes issues for any application that relies on historic logs. After warp sync is complete, your node might appear to be sychronized and fully up-to-date, but older blocks are missing while it backfills, which could take several days. It is also not obvious when that backfill has completed.

Augur recommends running your parity nodes with either

If neither of these options are specified, the node could still be functional. See this parity documentation for help determining if your Parity node is ready to answer historic requests. Parity Issue #7411

Ledger Hardware Wallet

Local SSL Cert:

Ledger requires SSL, which isn't available by default while running software on localhost. If you plan to use a Ledger hardware wallet with Augur, you must first select "Enable SSL For Ledger" before clicking "Open Augur App". Selecting "Enable SSL For Ledger" generates a self-signed SSL certificate locally, allowing you to interact with your Ledger hardware wallet. Other available authentication methods do not require this.

Firefox Not Supported:

Due to the current architecture of this implementation, the use of self-signed SSL certificates, and Firefox's security model, using a Ledger with Firefox is not currently supported. We will be working to fix this issue. In the meantime, it is recommended to use Chrome with Ledger.

Debugging

Logging:

If you are looking for more information from augur-node and augur-app, checkout the logs.

MacOS : ~/Library/Logs/augur/log.log

Windows : %USERPROFILE%\AppData\Roaming\augur\log.log

Linux : ~/.config/augur/log.log

Also, in augur-app, there is a menu option to open folder browser for log directory and data directory.

Clearing Configuration File:

If you've installed a previous pre-release of Augur App locally on your machine prior to the main Ethereum network deployment, you will need to clear your local Augur App configuration file in order to properly run this Augur App release and connect to the Ethereum main network.

Please delete the augur directory (or, just the app.config file) in the following location:

MacOS : ~/Library/Application\ Support/augur

Windows : %AppData%\augur

Linux : ~/.augur

Change Local UI Port:

uiPort is a new property in config.json (see location above). Change uiPort property to whatever port you want. Here is an example of the uiPort property changed:

{
  "uiPort": "8181",
  "sslPort": "8443"
        ...

Test Auto-Update:

  1. Run npm run minio:spin-up in a separate terminal window.
  2. Update version in package.json to a proper x.x.x version (e.g. 1.10.0)
  3. Run npm run make:local && npm run publish:local
  4. Open http://localhost:9000/minio/augur-app/ to confirm artifacts are shown in the repository.
  5. Decrement version stated in package.json (e.g. 1.9.0)
  6. Run npm run make:local && npm run publish:local
  7. Open the application artifact that now lives in the dist folder.

FAQ & Disclaimer

It is highly recommended that users read the FAQ and disclaimer prior to interacting with the Augur protocol on the main Ethereum network.

Questions, Bugs and Issues

Please file any bugs or issues related to Augur App as a GitHub issue in the Augur App repository. If your issue is related to Augur Node, use the Augur Node repository. If you have a UI bug or issue to report, use the Augur UI Client repository.

Alternatively, you can share feedback or seek help from community members in the Augur Discord.

When filing a bug, it may helpful to include the log file generated Augur App:

MacOS : ~/Library/Logs/augur/log.log

Windows : %USERPROFILE%\AppData\Roaming\augur\log.log

Linux : ~/.config/augur/log.log