# substrate-light-ui **Repository Path**: bison-fork/substrate-light-ui ## Basic Information - **Project Name**: substrate-light-ui - **Description**: fork 自 github/paritytech/substrate-light-ui substrate 浏览器钱包 - **Primary Language**: TypeScript - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-02-18 - **Last Updated**: 2022-12-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ![license](https://img.shields.io/badge/License-Apache%202.0-blue.svg) [![Actions Status](https://github.com/paritytech/substrate-light-ui/workflows/pr/badge.svg)](https://github.com/paritytech/substrate-light-ui/actions) [![Dependabot Status](https://api.dependabot.com/badges/status?host=github&repo=paritytech/substrate-light-ui)](https://dependabot.com) [![CodeClimate](https://api.codeclimate.com/v1/badges/bdff9a9d1f154523d3b9/maintainability)](https://codeclimate.com/github/paritytech/substrate-light-ui/maintainability) # 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 [Github Releases](https://github.com/paritytech/substrate-light-ui/releases) page. You can also check out the `master` branch and [build from source](#build-from-sources). ## Overview As of v0.3.0, the main functions are as follows: - [x] Identity management - manage accounts and addresses, including ability to create, edit, restore, backup, and forget them. - [x] Transfer balance - send and receive funds in the currency of the relevant substrate chain. - [x] 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 [`v0.4.0-MVP` milestone](https://github.com/paritytech/substrate-light-ui/milestone/3) for details): - [ ] Handle changing: - [x] provider, - [x] chain spec, - [ ] user uploaded light client WASM blob or chain spec. - [ ] Provider injection inside dapps. - [ ] Improve overall beginner-friendliness (e.g. [#67](https://github.com/paritytech/substrate-light-ui/issues/67)). ## Build from sources ### Dependencies Make sure you have [yarn >= 1.13.0](http://yarnpkg.com/) and [nodejs >= 10.10.0](https://nodejs.org/en/). Then run ```bash git clone https://github.com/paritytech/substrate-light-ui cd ./substrate-light-ui yarn install ``` ### Run the Browser Extension ```bash 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`: ```bash cp /path/to/polkadot ./packages/electron-app/static/substrate ``` Then run: ```bash yarn build: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](CONTRIBUTING.md) 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