The Polkadot Dashboard
Polkadash comes in two parts: the server and the client. The server serves out an HTML file containing the basic static page and the JS "bundle" file built from the client project. It also sets up a Websockets server that pushes updated data to the client as it becomes ready. The data is fetched from the local Polkadot node (assumed to be running on ws://localhost:9933) via RPC, cached and sent onto the Websockets connection using polkadot.js Bonds API and the generic serveBonds
function.
The client is a basic Bonds + React application which uses WebsocketBond
to succinctly receive the updates to the page in the form of Bonds. The Bonds represent richly typed values that makes working with the composite types common in Polkadot easier. They are isolated and displayed using simple Rspan
tags from the oo7-react
library, after being prettified/stringified according to their type.
To install, ensure you use yarn install
in both the server (top level directory) and client (under client/
):
yarn install && cd client && yarn install
To develop, run yarn run dev
in both the top-level directory and the client/
subdirectory. In one terminal keep the client bundle up to date:
$ cd client && yarn run dev
Then in another, keep the server up to date:
$ yarn run dev
Finally, open your browser (the default port to serve the page from is 3000):
http://localhost:3000/
The port on which the page is served is 3000 by default. To change it to e.g. 80, create config.json
in the top-level and edit it so it reads:
{
"port": 80
}
The Websockets connection is hard-coded to be 40510. Ensure this port and the previous are both open on your server.
Finally, just run yarn start
. This will build the client bundle once and then run the server:
$ yarn start
You might need to prefix that with sudo
if you're attempting to serve for port 80 and you're not running with root
.