A Portal into the Polkadot and Substrate networks. Provides a view and interaction layer from a browser.
This can be accessed as a hosted application via https://polkadot.js.org/apps/ to explorer any of the supported Polkadot and Substrate chains
The repo is split into a number of packages, each representing an application. These are -
- apps This is the main entry point. It handles the selection sidebar and routing to the specific application being displayed.
- app-accounts A basic account management app.
- app-addresses A basic address management app.
- app-democracy A basic voting app, allowing votes on activate proposals and referendums.
- app-explorer A simple block explorer. It only shows the most recent blocks, updating as they become available.
- app-extrinsics Submission of extrinsics to a node.
- app-rpc Sumission of raw data to RPC endpoints.
- app-settings A basic settings management app, allowing choice of language, node to connect to, and theme
- app-staking A basic staking management app, allowing staking and nominations.
- app-storage A simple node storage query application. Multiple queries can be queued and updates as new values become available.
- app-toolbox Utilities to manage data.
- app-transfer A basic account management app, allowing transfer of DOTs between accounts.
- app-vanitygen A toy that allows you to generate vanity addresses. Running
yarn run vanitygen --match <string>
runs the generator as a Node CLI app. (Orders of a magnitude faster due to the use of libsoldium bindings)
In addition the following libraries are also included in the repo. These are to be moved to the @polkadot/ui repository once it reaches a base level of stability and usability. (At this point with the framework being tested on the apps above, it makes development easier having it close)
- ui-app A reactive (using RxJS) application framework with a number of useful shared components.
- ui-signer Signer implementation for apps.
- ui-react-rx Base components that use the RxJS Observable APIs
Contributions are welcome!
To start off, this repo (along with others in the @polkadot family) uses yarn workspaces to organise the code. As such, after cloning dependencies should be installed via yarn
, not via npm, the latter will result in broken dependencies.
To get started -
- Clone the repo locally, via
git clone https://github.com/polkadot-js/apps <optional local path>
- Ensure that you have a recent LTS version of Node.js, for development purposes Node >=10.13.0 is recommended.
- Ensure that you have a recent version of Yarn, for development purposes Yarn >=1.10.1 is required.
- Install the dependencies by running
yarn
- Ready! Now you can launch the UI (assuming you have a local Polkadot Node running), via
yarn run start
- Access the UI via http://localhost:3000
There are additional environment UI flags that change both the theme and mode -
- Running with
UI_MODE=light|full
switches from a full (the default) to a light mode interface that only has specific applications highlighted. - Running with
UI_THEME=substrate|polkadot
switches from a Polkadot theme (the default) to a Substrate-branded UI
You can run a docker container via -
docker run --rm -it --name polkadot-ui -p 80:80 chevdor/polkadot-ui:latest
To build a docker container containing local changes -
docker build -t chevdor/polkadot-ui:latest .