A Portal into the Polkadot network. Provides a view and interaction layer from a browser.
This can be accessed as a hosted application via https://polkadot.js.org/apps/ or via https://poc-2.polkadot.io with the latter not requiring a locally-hosted node.
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-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-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-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-keyring A browser-specific wrapper around the base @polkadot/util-keyring library.
- ui-signer Signer implementation for apps.
- ui-identicon Identity icon generator with raw publicKey as input
- ui-react A collection of base React components
- 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 version of Node.js, for development purposes Node >=10.1.0 is required.
- Ensure that you have a recent version of Yarn, for development purposes Yarn >=1.3.2 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
Should you not run a local Node, you can connect to a remote node on the POC-2 network with the WS_URL
environment variable. For example - the apps entry point can be launched with a WebSocket connection to Polkadot POC-2 with WS_URL=wss://poc-2.polkadot.io:9944 yarn run start
and accessing the application of 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
Demos for the different libraries can be viewed with yarn run demo:<name>
and then browsing to http://localhost:3000. Available demo -
yarn run demo:identicon
yarn run demo:ui
yarn run demo:rx
Looking for tutorials to get started? Look at examples for a step-by-step guide to using the API and Components to display some information.
docker run --rm -it --name polkadot-ui -p 80:80 chevdor/polkadot-ui:latest
docker build -t chevdor/polkadot-ui:latest .