Forked from Joystream/joystream https://github.com/Joystream/joystream

Krzysztof Jelski e38b27ad90 Basic Electron App setup (#2765) 4 years ago
.github b220fc3a50 Deploy to ipfs (#2778) 4 years ago
.vscode 7bf992a1bb Remove non-working CI cache (#2387) 5 years ago
.yarn 3c239810c2 Bump berry (#2715) 4 years ago
docker 19f409023c Add ENV support to the generated site (#2450) 4 years ago
packages e38b27ad90 Basic Electron App setup (#2765) 4 years ago
scripts b220fc3a50 Deploy to ipfs (#2778) 4 years ago
test d677d64817 UI support for simple payouts (#2509) 5 years ago
.123trigger f7c61f4698 Pull members from collective itself (isMember checks) (#2704) 4 years ago
.babelrc.js 078e2e431a Support enumerable accounts (#102) 6 years ago
.codeclimate.yml 4f96fc0d3f Merge next into master (#529) 6 years ago
.dockerignore 19f409023c Add ENV support to the generated site (#2450) 4 years ago
.editorconfig d85ce9c263 Initial commit 7 years ago
.env-example 19f409023c Add ENV support to the generated site (#2450) 4 years ago
.eslintignore 3c239810c2 Bump berry (#2715) 4 years ago
.eslintrc.js 029b5c6c80 Adjust deps for new hooks rules (#2757) 4 years ago
.gitignore 19f409023c Add ENV support to the generated site (#2450) 4 years ago
.npmignore d85ce9c263 Initial commit 7 years ago
.nvmrc 4f96fc0d3f Merge next into master (#529) 6 years ago
.stylelintrc 978c83d3e1 Add stylelint (testing impacts) (#2524) 5 years ago
.yarnrc.yml 7bf992a1bb Remove non-working CI cache (#2387) 5 years ago
BOUNTIES.md 63944662a1 Additional requests for working on bounties (#1704) 5 years ago
CHANGELOG.md 4e6ba0dacd Add list footer with total summaries (free, bonded, payout) (#2600) 4 years ago
CONTRIBUTING.md 449310e0c9 Don't pass UI_MODE/UI_THEME via env (#769) 6 years ago
Dockerfile 19f409023c Add ENV support to the generated site (#2450) 4 years ago
I18N.md ea3f342da5 Move i18n app to settings (discoverability) (#2679) 4 years ago
LICENSE 4f96fc0d3f Merge next into master (#529) 6 years ago
README.md e38b27ad90 Basic Electron App setup (#2765) 4 years ago
babel.config.js d677d64817 UI support for simple payouts (#2509) 5 years ago
env.sh 19f409023c Add ENV support to the generated site (#2450) 4 years ago
i18next-scanner.config.js 1f6ffea2b8 i18n linting script (missing, extra) (#2629) 4 years ago
jest.config.js d677d64817 UI support for simple payouts (#2509) 5 years ago
lerna.json 9dced63547 [CI Skip] 0.42.0-beta.147 4 years ago
package.json e38b27ad90 Basic Electron App setup (#2765) 4 years ago
tsconfig.json e38b27ad90 Basic Electron App setup (#2765) 4 years ago
types.json a8ed300dc4 Small init changes (static state) (#663) 6 years ago
yarn.lock e38b27ad90 Basic Electron App setup (#2765) 4 years ago

README.md

polkadotjs license npm beta maintainability

@polkadot/apps

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/ or you can access the IPFS hosted version to explore any of the supported Polkadot and Substrate chains

Important If you are a chain developer and would like to add support for your chain to the UI, all the local configuration (API types, settings, logos) can be customized in the apps-config package, complete with instructions of what goes where.

overview

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.
  • apps-electron Desktop app running apps.
  • page-accounts A basic account management app.
  • page-address-book A basic address management app.
  • page-democracy A basic voting app, allowing votes on activate proposals and referenda.
  • page-explorer A simple block explorer. It only shows the most recent blocks, updating as they become available.
  • page-extrinsics Submission of extrinsics to a node.
  • page-js An online code editor with @polkadot-js/api access to the currently connected node.
  • page-settings A basic settings management app, allowing choice of language, node to connect to, and theme
  • page-staking A basic staking management app, allowing staking and nominations.
  • page-storage A simple node storage query application. Multiple queries can be queued and updates as new values become available.
  • page-toolbox Submission of raw data to RPC endpoints and utility hashing functions.
  • page-transfer A basic account management app, allowing transfer of Units/DOTs between accounts.

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)

  • react-components A reactive (using RxJS) application framework with a number of useful shared components.
  • react-signer Signer implementation for apps.
  • react-query Base components that use the RxJS Observable APIs

development

Contributions are welcome!

To start off, this repo (along with others in the @polkadot family) uses yarn workspaces to organize 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 -

  1. Clone the repo locally, via git clone https://github.com/polkadot-js/apps <optional local path>
  2. Ensure that you have a recent LTS version of Node.js, for development purposes Node >=10.13.0 is recommended.
  3. Ensure that you have a recent version of Yarn, for development purposes Yarn >=1.10.1 is required.
  4. Install the dependencies by running yarn
  5. Ready! Now you can launch the UI (assuming you have a local Polkadot Node running), via yarn run start
  6. Access the UI via http://localhost:3000

I want to code around

There is a base template available page-123code that acts as a simple starting point for adding additional apps to the UI. Alternatively if you just want some place where you can write some code, it does the trick.

While it is hidden from the sidebar, it is accessible via http://127.0.0.1:3000/#/123code

Be sure to follow the page-123code/README.md instructions.

Docker

You can run a docker container via -

docker run --rm -it --name polkadot-ui -e WS_URL=ws://someip:9944 -p 80:80 chevdor/polkadot-ui:latest

To build a docker container containing local changes -

docker build -t chevdor/polkadot-ui .

When using these Docker commands, you can access the UI via http://localhost:80 (or just http://localhost)