Skip to content
Raiden's Web User Interface
Branch: master
Clone or download
Latest commit b410911 May 23, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
.github/ISSUE_TEMPLATE Add feature request template Jan 17, 2019
e2e
raiden_webui Creating a python package of the webui Dec 5, 2018
src Applies prettier formatting May 22, 2019
.bumpversion.cfg Bump version: 0.7.1 → 0.8.0 Jan 25, 2019
.editorconfig
.gitignore Adds .eggs to .gitignore Jan 24, 2019
.prettierignore Adds prettier to tslint rules May 22, 2019
.prettierrc Removes parser from .prettierc Jan 25, 2019
CHANGELOG.md Updates CHANGELOG May 21, 2019
CONTRIBUTING.md Removes line about checking for reviewable PRs May 22, 2019
LICENSE Adds LICENSE Nov 27, 2018
MANIFEST.in Creating a python package of the webui Dec 5, 2018
README.md
RELEASE.md Documents Raiden WebUI release process May 22, 2019
angular.json Applies prettier formatting May 22, 2019
codecov.yml
karma.conf.js Applies prettier formatting May 22, 2019
package-lock.json Adds prettier to tslint rules May 22, 2019
package.json Adds prettier to tslint rules May 22, 2019
protractor-ci.conf.js Applies prettier formatting May 22, 2019
protractor.conf.js Applies prettier formatting May 22, 2019
proxy.config.json Add changeOrigin option to web3 proxy Mar 4, 2019
setup.py Bump version: 0.7.1 → 0.8.0 Jan 25, 2019
tsconfig.json Applies prettier formatting May 22, 2019
tslint.json
webui.png Updates WebUI video and tutorial links May 22, 2019

README.md



Raiden WebUI

Getting StartedContact

PyPI CircleCI Badge Codecov Badge code style: prettier Gitter Raiden Badge

Raiden WebUI is a simple web application that utilizes the Raiden REST API endpoints to allow the user to interact with token networks, make token payments, see the current status of open channels along with closing and settling channels to name some of the functionality.

Table of Contents

About The Project

The Raiden Network is an off-chain scaling solution, enabling near-instant, low-fee and scalable payments. It’s complementary to the Ethereum blockchain and works with any ERC20 compatible token.

The Raiden client code is available here and has been released for mainnet with a limited alpha release of the Raiden Network in December 2018.

Raiden WebUI

Raiden WebUI is build using the following technologies:

Getting Started

Learn about Raiden

If you didn't use Raiden before, you can

Using the WebUI

If you want to know how to use the Raiden WebUI you can find a nice tutorial on the Raiden Documentation.

Prerequisites

If you are a just a user of the WebUI there is no need for you to do anything. A version of the WebUI is already bundled with each raiden release. The only thing you need to to to access the WebUI is for example to navigate to http://127.0.0.1:5001 and interact with the Raiden WebUI.

If you want to work on the WebUI codebase you need:

  • Node >=10.13.0
  • A working Raiden client.
  • Git for version control.

Development

Before you start working on the WebUI you need to install the WebUI's dependencies.

npm install

Configuration

Before you being to work on the WebUI you have to make sure that you have the proper configuration. Check if the proxy configuration corresponds to your actual environment configuration.

Since you will not be running the WebUI embedded into raiden you need to provide both the Ethereum RPC endpoint and the Raiden REST API endpoint to the proxy.config.json.

By default the configurations looks like this:

{
    "/api": {
        "target": "http://localhost:5001",
        "proxyTimeout": 600000
    },
    "/web3": {
        "target": "http://localhost:8545",
        "pathRewrite": { "^/web3": "" },
        "changeOrigin": true,
        "proxyTimeout": 60000
    }
}

The configuration assumes that the Ethereum RPC endpoint listens on http://localhost:8545 and the Raiden REST API is on http://localhost:5001. If you are using a different configuration make sure to update the corresponding fields in the configuration.

For example if you run raiden on port 5002 and you use Infura as your RPC provider you would have to modify the proxy.config.json to like like:

{
    "/api": {
        "target": "http://localhost:5002",
        "proxyTimeout": 600000
    },
    "/web3": {
        "target": "http://goerli.infura.io/v3/YOUR_API_KEY",
        "pathRewrite": { "^/web3": "" },
        "changeOrigin": true,
        "proxyTimeout": 60000
    }
}

Info: On development mode there is no way to guarantee that raiden and the RPC provider run on the same chain. You have to be careful, because if you start for example Raiden on Rinkeby and pass Görli as the RPC endpoint, WebUI will fail to work.

Important: Modifications on proxy.config.json make sure never be part of your PR.

Running WebUI

After you are done with the configuration you can start the development server:

npm run serve

After the development server starts you have to navigate to http://localhost:4200/ui, in order to use the WebUI.

Python package

The WebUI is build as a python package and it's available on PyPI. This package is pinned as a dependency on Raiden. The PyPI package provides a precompiled version of the WebUI that is bundled with Raiden and can be used out of the box.

The python package provides a static variable that points to the location of the WebUI static content root directory. This can be imported by raiden to expose the bundled WebUI resources:

from raiden_webui import RAIDEN_WEBUI_PATH

The package can build the python package by calling:

python setup.py build sdist bdist_wheel

The command calls npm build:prod to build the static production version of the WebUI so that it can get included in the python package.

If you need to install the package locally to your development virtual environment you can do so by running:

python setup.py build install

In case you need to use the debug version of the WebUI with in your virtual environment you can also run:

python setup.py compile_webui -D install

This will build the debug version of the WebUI to include in your package.

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

Also have a look at the Raiden WebUI Development Guide for more info.

License

Distributed under the MIT License.

Contact

Dev Chat: Gitter

Twitter: @raiden_network

Website: Raiden Network

Mail: contact@raiden.network

Project Link: https://github.com/raiden-network/light-client

You can’t perform that action at this time.