0.3.32 • Published 4 years ago

@substrate/light v0.3.32

Weekly downloads
1
License
Apache-2.0
Repository
github
Last release
4 years ago

license Actions Status Dependabot Status

Lichen (working title, previously "Substrate Light UI")

Lichen is a light-client-based, in-browser wallet for Substrate.

The Light UI is meant to be an intuitive interface for beginner users to easily interact with various Substrate chains. It is provided in two forms:

  • A Chrome/Firefox browser extension
  • A desktop application, built with Electron

Both provide the same functionalities and use the same UI, feel free to choose the medium that suits you best.

A very alpha version of the browser extension can be found in the releases page: https://github.com/paritytech/substrate-light-ui/releases/tag/v0.3.0.

You can also check out the master branch and build from source.

Overview

As of v0.3.0, the main functions are as follows:

  • Identity management - manage accounts and addresses, including ability to create, edit, restore, backup, and forget them.
  • Transfer balance - send and receive funds in the currency of the relevant substrate chain.
  • Embed a light client in a browser extension, and let Light UI be the user interface of this extension.

And here is a rough roadmap of what's coming next (see the v1-MVP milestone for details):

  • Handle changing provider, chain spec and light client WASM blob.
  • Provider injection inside dapps.
  • Improve overall beginner-friendliness (e.g. #67).

Build from sources

Dependencies

Make sure you have yarn >= 1.13.0 and nodejs >= 10.10.0. Then run

git clone https://github.com/paritytech/substrate-light-ui
cd ./substrate-light-ui
yarn install

Run the Browser Extension

yarn build:extension

Then install the extension:

  • Chrome:
    • go to chrome://extensions/
    • ensure you have the Development flag set
    • "Load unpacked" and point to packages/extension-app/build
    • if developing, after making changes - refresh the extension
  • Firefox:
    • go to about:debugging#addons
    • check "Enable add-on debugging"
    • click on "Load Temporary Add-on" and point to packages/extension-app/build/manifest.json
    • if developing, after making changes - reload the extension

Run the Electron App

For now, you need to bundle a Substrate node manually into the Electron app. To do so, first build a Substrate node for your platform (note: it can of course be a Polkadot/Kusama node, or any other Substrate node), and copy it as ./packages/electron-app/static/substrate:

cp /path/to/polkadot ./packages/electron-app/static/substrate

Then run:

yarn prod:electron

The building might take some time, but you should see an Electron application after a while.

Troubleshooting: If it hangs on a white screen in Electron even though it has compiled and has been syncing for a long time, then simply choose 'View > Reload' (CMD + R on macOS) from the Electron menu.

Contributing

We welcome any and all contributions whether it is in the form of raising an issue, filing a PR, or participating in the discussions. Please read the Contributing Docs first.

Run with Hot-Reloading

If you would like to run this project with hot-reloading, use the following commands:

  • yarn start:ui: If you would only like to modify the UI, run this command and visit http://localhost:3000
  • yarn start:electron: Run the Electron app with hot reloading