* Basic Electron setup. * wip * Integrate electron with react components from apps workspace * Refactor package.json scripts. * Copy public files from apps. * Import 'initSettings' from apps workspace, fix code style, move scripts into global package.json * Add build electron step into CI * Split webpack file into renderer and main * Add HMR into renderer.config * Add optimization process in main webpack configuration * Add ts translation in main webpack config and fix electron start script * Update dependencies. * Update dependencies. Change package name. * Move initSettings func into Api component * Extract webpack base config and move initSettings into react-api * Fix webpack config and simplify initSettings import * WIP on packing electron app (electron.ts doesnt have relative path) * Fix relative path to the main index.html * Add README in electron package, update main package.json scripts, add mention about electron-package in main README * Remove unused dependencies form electron package.json * Missing file from merge * Fix main README and change name field in main package.json * Update dependencies. * Remove old webpack-dev-serve (creating issues with plugin) Co-authored-by: jozwiak <kubencki@gmail.com> Co-authored-by: Jaco Greeff <jacogr@gmail.com>
5.3 KiB
@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 -
- 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
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)