Customized Polkadot.js Apps fork for GHOST Mainnet & CASPER Testnet. Pre-configured RPC, GHOST dark theme, and upstream-sync ready.
Go to file
Jaco Greeff 4f96fc0d3f
Merge next into master (#529)
* Update API deps

* Duplicate new Api from api

* Explorer renders

* Cleanup trapping

* Allow Moment values

* Vector -> Array

* Add mapping FIXME

* Updates

* proposals -> publicProposals

* QueueTx

* nonce -> accountNonce

* Cleanup (some) naming

* FIXME

* Cleanups

* cmp & isZero on UInt

* WIP... storage dropdowns may work after latest API PR...

* Misplaced .public

* Update exposed methods

* Remove getBlock checks (available in poc-3)

* Align method/section

* Align with API (method)

* api-codec -> types

* Reanme API interfaces

* Type updates, still very much a WIP

* We have updating queries... without params

* Chainstate app is working

* Get rid of some params imports

* Cleanups

* Remove app-example... outdated, non-working

* Remove app-example link from README

* Additional cleanups

* InputRpc dropdowns working

* We can make transfers (Transfer app)

* Call doesn't encode toU8a

* Cleanup to use extrinsics from Api

* Remove references to @polkadot/params

* Update deps

* Submitting transactions hsould work in app-*

* Bump

* Extrinsics app renders

* Extrinsic app can transfer

* Adapt travis.yml

* Force things to pass checks...

* Update @polkadot/dev for gh-pages -> next

* Bump dev (hopefully now gh-pages deploy)

* Default theme

* Don't skip signer for sending

* Don't throw on unknown types

* Signer queue rework

* Render input params for rpc

* Explorer click-through working

* Update deps

* WIP#327 - app-accounts with ss58 address inputs

* transformtoss58 returns valid address or null

* syntax

* app-accounts

* app-democracy

* app-extrinsics

* app-rpc

* app-staking

* app-transfer

* Generate ui-identicon from ss58 as input

currently handling null address with null return - there should be a better way to do this but it "works".

* ui-app

adapt onChange Props params

* manage identities with ss58 addresses rather than u8a.

also currently handling null value input, should be a better way to handle this but currently "works".

* ui-signer use ss58 address in keyring

* ui-signer combine duplicate imports

* ui-signer signMessage with ss58 address

derive public key by decoding ss58 input

* use 'accountId' as variable name instead of 'ss58'

* Addressing some issues

* sanity check for accountId by decoding and checking public key

* allow u8a account id types for more flexibility around short address input types in the future

* throw error on generate identicon with empty seed

* fix: accountId over publicKey

Transactions work in extrinsics and transfers.

* fix linting errors in  rpc, addresses, transfer, identicon

* accountId in stakelist

* Allow file upload for Bytes

* Extrinsic change updates correctly, Params track codec instances

* Unused import

* Cleanup conflicts, linting

* [next] Display balance with μ, k & m (#350)

* Display balance with μ, k & m

* balanceFormat to handle UInt

* let -> const

* Format static Balance properly

* Take care of new extrinsics format

* m -> M (not mili, mega)

* [next] Proposals & democracy updates (#352)

* Update README.md

* Proposals actually submit (non-valid atm)

* New API package

* Promposal propose

* Poposal decoding

* Proposal & Referendums show up

* Formats

* Proposal & voting works as expected

* Staking works as expected

* Staking & Democracy fully operational

* Update package.json

* [next] Update API deps (#354)

* Update API deps

* Update type locations

* Update api deps

* [next] Add mnemonic support from keyring (#356)

* Add mnemonic support from keyring

* Bump @polkadot/api

* Bump dependencies (#358)

* [next] Add app-settings (#359)

* [next] Add app-settings

* Update deps, cleanups

* Re-encode address for adding

* Action for seedType selection

* Revert denominations (#360)

* [next] Dependency bumps (#362)

* Bump API decoding

* Bump deps

* [next] Chain configs (#361)

* Revert denominations

* Chain Id

* Distinct colours

* Cleanup options for settings

* Adjust tests aftrer colour change

* Gated on isConnected & isReady

* Allow selection/add of AccountIndex

* Remove examples (code removed already)

* Reverse Id <-> Index lookups

* Index reverse lookups

* Usable AccountIndex

* [next] Bump API (#363)

* [next] Merge master (#364)

* Update README.md

* Re-lock account only after save

* trying to get mapping of nominators correct (#346)

* trying to get mapping of nominators correct

* changed double quote to single

* Fix for disabled chain state button bug (#351)

* merge prev and next params on Selection key change

* build error

* [next] Balance formatting (#365)

* Update README.md

* Re-lock account only after save

* trying to get mapping of nominators correct (#346)

* trying to get mapping of nominators correct

* changed double quote to single

* Fix for disabled chain state button bug (#351)

* merge prev and next params on Selection key change

* build error

* Load order (we need chain)

* Dropdown for seed type selection

* Allow SI unit selection on number inputs

* Remove unused function

* Cleanup BalanceFormatter

* Fix tests

* [next] Bump API version (#366)

* Bump API version

* Proposal construction & chain units

* Update Extrinsic -> Call

* Pass correct call params

* Cleanup linting

* Re-encode address on loading

* Bump

* Lint fix.

* [next] Import from package indexes (#370)

* [next] Import form package indexes

* Update deps, fix Transfer balance checks

* Add error on unlock

* Save account with hex encoded (not address)

* Import InputAddress for swap

* Bump @polkadot/api (staking nominators show up)

* Align api & util deps

* Bump @polkadot/api

* [next] Bump API, adjust call/method (#372)

* Bump API, adjust call/method

* Add votes correctly to yay/nay

* [next] Local Testnet

* Don't link block 0

* [next] FF Warning message (#374)

* FF Warning message

* Bump deps, massage message a bit

* Bump deps

* i18next upgrade changes

* Bump yarn to 1.10.1 in engines, travis (#379)

* [next] submitAndWatchExtrinsic for transactions (#377)

* WIP: Replace submitExtrinsic with submitAndWatchExtrinsic

TODO:
* don't `complete` when calling send, rather update as update messages come in from API
* adjust queue statuses in UI with new Status codec type from API.

* update api wrapper for subscribeAndWatch

* Update index.tsx

* subscribe to updates

* remove unneeded subscribe

* display result type

* Wrap up submitAndWatch status display

* Status background colours

* Revert indent

* Queue status icons (#380)

* [next] Bump dependencies (#383)

* Bump dependencies

* Update mock creation

* Don't mangle classes via uglify (#384)

* [next] Update status overlay styling (#385)

* Update status overlay styling

* Adjust colours for status messages

* Slight padding adjustments

* [next] refactor: Create export index files in ui-react-rx/src/{with/util} for single line destructuring imports (#388)

* refactor: Create ui-react-rx/src/with index of exports. Import single line destructuring

* refactor: Create ui-react-rx/src/util index of exports. Import single line destructuring

* refactor: Use ui-react-rx/src/ index of exports. Import single line destructuring

* refactor: Refactor to use exported index

* refactor: Refactor to use another exported index

* fix: Add missing license headers. Avoid import from index in same location

* [next] Support latest substrate master (#390)

* Update deps (api, compact support)

* Bump deps

* Update deps

* Compact<BlockNumber> for Header

* Handle Compact<*> rendering

* Cleanup warnings

* Update deps

* Not perfect, but warn on (invalid) hashes for blocks

* [next] keyring classify (#393)

* refactor: reorder imports and props alphabetically

* fix: Make class methods private

* fix: Restrict user restoring account to select only .json. Add missing withLabel

* refactor: Replace onBack with onCreateAccount and onRestoreAccount

* fix: Show console.log of error in try/catch of Backup/Restore

* fix: accountAll is array of objects

* refactor: Move Backup keyring logic into ui-keyring

* refactor: Move restoreAccount logic into ui-keyring

* refactor: Move validatePass to ui-keyring as isPassValid with MAX_PASSWORD_LEN

* refactor: Issue #138 convert closure to separate function declare, call, export

* refactor: Issue #138 convert function to ES6 class object

* refactor: Move addPair, create, createMnemonic, restore, save into Keyring class

* refactor: Move backup/encrypt/forget account, get accounts, and save account meta functions into Keyring class

* refactor: Move get address/addresses, forget/save address, and save recent functions into Keyring class

* refactor: Move isPassValid, isAvailable functions into Keyring class

* refactor: Move loadAll into Keyring class

* refactor: Move much of ui-keyring/options into Keyring class

* refactor: Move private methods to top of class

* fix: fix: Prevent creating multiple instances of Keyring class

* Prevent creating multiple instances of Keyring class. i.e. the following does not create the second instance:

```
const keyringInstance = new Keyring();
const keyringInstance2 = new Keyring();
```

* References:
	* https://codepen.io/JoeCoulam/pen/mRqbzz
	* https://medium.com/@dmnsgn/singleton-pattern-in-es6-d2d021d150ae
	* https://stackoverflow.com/questions/26205565/converting-singleton-js-objects-to-use-es6-classes/26227662#26227662

* fix: Prevent calling initOptions of Keyring singleton multiple times

* the following calls to initOptions are prevented since initOptions called when instance created with by loadAll() function:

```
const keyringInstance = new Keyring();
keyringInstance.initOptions();
keyringInstance.initOptions();
```

* test: Add test for Keyring singeton instance check and so initOptions only callable once

* feat: Move Keyring options back. Remove singleton check. Move initOptions check. Only export Keyring instance

* Move keyring options back into options folder

* Remove checking if Keyring is singleton

* Move checking if initOptions called multiple times and associated tests out of Keyring and into options folder file

* Add type to pair to fix linting

* Remove exporting Keyring class, only Keyring instance is exported

* refactor: Class-ify the Keyring options directory into a class named

* fix: Store state outside of Keyring instance

* refactor: Move keyring state into Keyring class. Add getters and setters

* Move observable accounts and addresses into Keyring class.

* Rename KeyringInstance interface to KeyringStruct (similar to app-settings)

* Add getter for keyring, accounts, and addresses to Keyring

* Add setter for keyring

* Add AccountSubject type

* Fix State type to use AccountSubject instead of AddressSubject

* Small private member tweaks

* Rework (overzealous private members)

* Fix rename in test

* [next] Block explorer event display (#392)

* Update README.md

* Re-lock account only after save

* trying to get mapping of nominators correct (#346)

* trying to get mapping of nominators correct

* changed double quote to single

* Fix for disabled chain state button bug (#351)

* merge prev and next params on Selection key change

* build error

* Updated required Node version in README (#367)

The minimum Node version is 10.1.0 as specified in the package.json 'engines'. The installation fails if the node version is below that (eg. v10.0.0 ), that's why I changed it in the README

* Simple (unformatted) event display

* section, method + types

* Display events on explorer

* Styling & overflow fixes

* Fix linting issues

* Node 10.13.0 LTS

* Revert message on block, reduce flicker

* [next] Update nvmrc version. Add missing packages to Readme. Indicate LTS required (#395)

* docs: Fix typo in Readme

* fix: Update nvmrc to version in package.json

* docs: Add missing packages to Readme. Indicate that LTS is required

* Render logs in expanded block display (#396)

* [next] Cleanup staking list balance displays (#397)

* Cleanup staking list balance displays

* Don't naked map balances (params passed)

* Cleanup block display with cleaner formatting (#398)

* Only filter dev accounts when in dev (#401)

* [next] Move BIP generation to worker (UI responsiveness) (#400)

* Move BIP generation to worker (responsive)

* Test & cleanup via local prod build

* [next] Fix length encoding for uploaded Bytes (#405)

* Fix length encoding for uploaded Bytes

* Remove addressed FIXME

* Cleanup linting, adjust encoding via helpers

* [next] Handle null nonce in extrinsics (in addition to undefined) (#407)

* Handle null nonce (in addition to undefined)

* Adjust types for partials

* Helper for submit RPC

* [next] Highlight validators (#402)

* Add isHiglight to IdentityIcon

* Display validator highlight in Address{Row,Summary}

* Highlight validators in AddressMini

* Highlight validators in AddressInput

* Display zero balalnce as 0 instead of 0.000f (#408)

* Cleanup explorer header display (#410)

* [next] Align article headers (all h3, no extra classes) (#411)

* Align article headers (all h3, no extra classes)

* Adjust overflowing columns in explorer

* Adjust app contemnt to cover screen (#412)

* [next] Retrieve hash instead of calculating (slower) (#415)

* Retrieve hash instead of calculating (slower)

* Cleanups

* Allow raw-key queries via the storage app (#416)

[next] Allow raw-key queries via the storage app

* [next] Remove IdentityIcon bond dependencies (#419)

* Remove IdentityIcon bond dependencies

* Cleanup tests

* Update README

* Update header

* Update headers

* Catch & display observable status errors (#422)

* [next] refactor: Move backup/restore functionality to Keyring. See details (#386)

* refactor: reorder imports and props alphabetically

* fix: Make class methods private

* fix: Restrict user restoring account to select only .json. Add missing withLabel

* refactor: Replace onBack with onCreateAccount and onRestoreAccount

* fix: Show console.log of error in try/catch of Backup/Restore

* fix: accountAll is array of objects

* refactor: Move Backup keyring logic into ui-keyring

* refactor: Move restoreAccount logic into ui-keyring

* refactor: Move validatePass to ui-keyring as isPassValid with MAX_PASSWORD_LEN

* fix: Change allAccounts type to SubjectInfo

* refactor: Example with clearer usage of  for React Dropzone

* [next] refactor: Issue #138. Convert closure into ES6 class object. Move methods into class (#387)

* refactor: Issue #138 convert closure to separate function declare, call, export

* refactor: Issue #138 convert function to ES6 class object

* refactor: Move addPair, create, createMnemonic, restore, save into Keyring class

* refactor: Move backup/encrypt/forget account, get accounts, and save account meta functions into Keyring class

* refactor: Move get address/addresses, forget/save address, and save recent functions into Keyring class

* refactor: Move isPassValid, isAvailable functions into Keyring class

* refactor: Move loadAll into Keyring class

* refactor: Move much of ui-keyring/options into Keyring class

* refactor: Move private methods to top of class

* fix: fix: Prevent creating multiple instances of Keyring class

* Prevent creating multiple instances of Keyring class. i.e. the following does not create the second instance:

```
const keyringInstance = new Keyring();
const keyringInstance2 = new Keyring();
```

* References:
	* https://codepen.io/JoeCoulam/pen/mRqbzz
	* https://medium.com/@dmnsgn/singleton-pattern-in-es6-d2d021d150ae
	* https://stackoverflow.com/questions/26205565/converting-singleton-js-objects-to-use-es6-classes/26227662#26227662

* fix: Prevent calling initOptions of Keyring singleton multiple times

* the following calls to initOptions are prevented since initOptions called when instance created with by loadAll() function:

```
const keyringInstance = new Keyring();
keyringInstance.initOptions();
keyringInstance.initOptions();
```

* test: Add test for Keyring singeton instance check and so initOptions only callable once

* feat: Move Keyring options back. Remove singleton check. Move initOptions check. Only export Keyring instance

* Move keyring options back into options folder

* Remove checking if Keyring is singleton

* Move checking if initOptions called multiple times and associated tests out of Keyring and into options folder file

* Add type to pair to fix linting

* Remove exporting Keyring class, only Keyring instance is exported

* refactor: Class-ify the Keyring options directory into a class named

* fix: Store state outside of Keyring instance

* refactor: Move keyring state into Keyring class. Add getters and setters

* Move observable accounts and addresses into Keyring class.

* Rename KeyringInstance interface to KeyringStruct (similar to app-settings)

* Add getter for keyring, accounts, and addresses to Keyring

* Add setter for keyring

* Add AccountSubject type

* Fix State type to use AccountSubject instead of AddressSubject

* Small private member tweaks

* Rework (overzealous private members)

* Fix rename in test

* merge latest from next. fix merge conflicts

* fix linting error

* fix: Remove unncessary code

* Bump API version (bugfixes) (#424)

* [next] Apply fee color classes correctly (#426)

* Apply fee color classes correctly

* Class ordering

* Adjust menu & IdentityIcon styling (#427)

* Cleanup proposal & referendum display (#429)

* [next] Cleanup Referendums & voting process (with Vec<KV>) (#431)

* Cleanup Referendums & voting process (with Vec<KV>)

* Remove FIXME (addressed)

* [next] Cleanup styling (#428)

* Adjust backgrounds to be slightly darker

* Cleanup validator/intentions lists

* update readme reflect removal of ui-react (#434)

* moved shared function to parent (#404)

* moved shared function to parent

* lint

* remove balance array dance

* lint

* Bump deps, metadata parsing (#436)

* article styling updates (#437)

* [next] Merge master, param change update (#438)

* Marge master, param change update

* Tie params to section.method

* [next] autoFocus app fields (#439)

* autoFocus app fields

* Toolbox autoFocus

* Cleanup warnings in staking nominate

* Align borders

* Remove unused var

* [next] Revert menu border override (#440)

* Revert menu border override

* Revert article single border

* Menu background

* Align grays

* Lighten content background

* [next] Support dynamic Tuple & Array inputs (#441)

* Allow Tuple value entry

* Fire Param events

* Remove extra debug log

* Allow entry of Array<*>

* Bump deps

* Bump deps (API d.ts fixed)

* [next] Display intention/validator name in staking list #303 (#448)

* Added getAccount() method to ui-keyring package

* Added getDisplayName function for staking accounts/ addresses

* removed deprecated argument from earlier approach

* formatting (added empty line)

* Removed unnecessary typecheck & encoding from getAccount(),

* Added getAccount to types.d.ts

* removed space

* changed type of `address` to string (failing build fix)

* [next] Backup warning modal on account creation #394 (#447)

* Added address summary and auto-download of backup file to 'create'-modal

* Removed deprecated code after falsy merge

* Fixed typo Plesae -> Please

* Move check for whenCreated property from saveAccount to separate method

* removed unnecessary return statement

* grammar fix 'was' -> 'is'

* Added Highlight to Modal class, styling adjustments

* removed surrounding <p> in modal content

* Changed Modal.Highlight to built in MUI Modal.Description

* renamed translation key of Modal.Description

* Moved timestamp creation back to save Account

* [next] Explicit Identityicon prefix (#446)

* set IdentityIcon default prefix

* Update with import from keyring

* Rework encoding/decoding of addresses

* Update keyring deps

* [next] Bump deps (#449)

* Bumpo deps, work around i18next definitions being wonky (again)

* Cleanup yarn.lock

* [next] add user notifications in App-Accounts (#391)

* add toaster for app-accounts status changes

* status notifs

* linter

* lint

* refactor with addressmini

* remove debugger statement

* fixintl, status obj creation pattern

* lint

* Track events globally, alert use (notification pop-up)  (#413)

* move Status component to ui-app

* move status stuff up the component tree

some more generalizations with action types

* global status

currently works in app-accounts and ui-signer

* I18n and linting

* lintlint

* style

* add notifs to app-address

* status notifs with backup, changepass

* addresses unnecessary translates

* lint

* Fix merge

* Vector should not render add/remove in isDisabled mode (#452)

* [next] Bump API version (#455)

* Bump API version

* Bump deps

* Update README and LICENSE

* Bump dependencies

* [next] Track extrinsics, don't allow until accountIndex is updated (#406)

* dont allow queueing until accountindex increments

* WIP: deny txn submit before account nonce increments

* readding blocked extrinsics to the queue. Still need to properly set the accountNonce though

* queue unclog

* remove unnecessary _this=this scoping dance

* Moving the need for `?:` to a separate issue

* update types to match codec, account for different accountid with same nonce

* Fix toString for undefined (#456)

[next] Fix toString for undefined

* [next] Cleanup translate HOC definitions (#457)

* Cleanup translate HOC definitions

* Alignment

* [next] Bump API for Grandpa compat (#461)

* Bump API for Grandpa compat

* Update types for new API

* [next] Handle byte display consistently (#463)

* Handle byte display consistently

* Chack blocked status against completed status

* Bump

* Democracy countdown (lauch & voting) (#464)

* Bump API to handle StorageData -> Bytes with prefix (#466)

* Bump dependencies, align with stricter TS checks (#467)

* Only remove local files, not nested (#468)

* Bump api deps (#469)

* Display nonce via toString(), cleanup blocked checks (#470)

* [next] Bump deps, update with linting rules (#472)

* Bump deps, update with linting rules

* Update root package config

* Revert testing ruleset config

* Update tslint config pulling in dev-react

* Bump deps with UI packages, remove now unused eslint config (#474)

* Move types.d.ts -> types.ts (#475)

* [next] Bump dependencies (#481)

* Bump deps

* Bump deps

* Cleanup lintin issues with 3.2.1

* Bump @polkadot/api with Tuple map support

* Format JSON results from RPC app

* [next] Make settings accessible from non-running node (#484)

* Add onCopy to IdentityIcon

* Allow settings to be accessible when no node

* Proper license naming for identicon (#488)

* [next] Split ui-{identicon,keyring,settings} into ui repo (#491)

* Split ui-{identicon,keyring,settings} into ui repo

* Correct settings import from ui-app

* Use @polkadot/ui-* split from npm

* Update with latest @polkadot/ui

* Migrate to travis-ci.com, bump deps

* Change non-local imports to direct

* #459 Add spread and copy buttons for substrate.code query (#465)

* #459 Add spread and copy buttons for substrate.code query

* fix code style checks

* render spread&copy buttons for all queries which produce byte code

* Type and name refinement

* #459 A first revision where spread functionality for Byte queries is implemented

* remove state property

* Review fixes

* Review fixes

* break query output for overflowing content

* call valueToText with -1

* Fix linter issue

* [next] Global shared status queue and consumer (#490)

* Global shared status queue and consumer

* Bump deps

* Adjust styling

* Remove copy (unimplemented), spread & concat

* [next] Display received events (balalnces.Transfer atm) (#494)

* Display received events (balalnces.Transfer atm)

* Cleanup Status class

* Keys for values in Vector

* Extra information on address decode errors (#495)

* [next] Cleanup React & API errors (#498)

* Cleanup React & API errors

* Revert value override, breaks input

* InputNumber does not switch between controlled and uncontrolled

* Status has key for entries

* Adjust receive icon

* Bump dependencies, cleanup Unknown types (#499)

* Bump dependencies, cleanup Unknown types

* Cleanup status styling, icon stretch

* [next] fix: Fixes #493. Contain logs digest item within div (#497)

* fix: Fixes #493. Contain logs digest item within div

* refactor: Remove monospace and drop-down css. Add only wrapping and space between elements

* fix: Remove AuthoritiesChange, forgotten how that got there, but not required

* Allow onCopy Status for IdentityIcon (#501)

* Allow onCopy Status for IdentityIcon

* Clanup same-package imports

* [CI Skip] Update .codeclimate.yml (#502)

* [next] Bump dependencies (#503)

* Bump dependencies

* Bump dependencies

* Downgrade react-dropzone (8.x has new context API)

* Bump deps (API types fix)

* Cater for check where key has no meta (#504)

* Align number inputs to 0 defaults (#506)

* fix InputAddress display (#509)

* [next] Bump dependencies (#512)

* Bump dependencies

* Don't change status (flicker) when completed

* Expand status timeout

* Pull svg from ui-assets (#513)

* [next] Read chain properties, inject (#514)

* Read chain properties, inject

* Linting

* Bump deps (#520)

* Bump deps

* ... and include lockfile

* [next] Support latest Polkadot types (#523)

* Bump deps, latest Polkadot types

* Rendered for ParaId

* [next] Charred Cherry support (#522)

* Charred Cherry support

* Update deps to include CC

* Update injection & new method interfaces

* Naming, extrinsic vs method

* Update ExtrinsicStatus results

* Bump deps

* [next] launguage -> language (#524)

* [next] Bump deps, support latest metadata struct (#525)

* Bump deps, support latest metadata

* Bumpdeps

* Bump dev

* Bump local deps

* Display target period * 2 (#526)

* Alexanber support (#528)

* Bump API

* Bump deps

* Fix referendums, chain id for Alexander

* Bump deps
2018-12-21 17:17:26 +01:00
packages Merge next into master (#529) 2018-12-21 17:17:26 +01:00
test Merge next into master (#529) 2018-12-21 17:17:26 +01:00
.babelrc.js Support enumerable accounts (#102) 2018-06-25 18:02:47 +02:00
.codeclimate.yml Merge next into master (#529) 2018-12-21 17:17:26 +01:00
.dockerignore Add .dockerignore 2018-08-12 17:27:12 +02:00
.editorconfig Initial commit 2018-04-17 17:02:30 +02:00
.gitignore Initial commit 2018-04-17 17:02:30 +02:00
.npmignore Initial commit 2018-04-17 17:02:30 +02:00
.nvmrc Merge next into master (#529) 2018-12-21 17:17:26 +01:00
.travis.yml Merge next into master (#529) 2018-12-21 17:17:26 +01:00
babel.config.js Use @babel 7 (#52) 2018-05-17 14:51:41 +02:00
Dockerfile Add multistage docker image (11MB) (#164) 2018-07-31 15:29:00 +02:00
jest.config.js Merge next into master (#529) 2018-12-21 17:17:26 +01:00
lerna.json Merge next into master (#529) 2018-12-21 17:17:26 +01:00
LICENSE Merge next into master (#529) 2018-12-21 17:17:26 +01:00
package.json Merge next into master (#529) 2018-12-21 17:17:26 +01:00
postcss.config.js Use @babel 7 (#52) 2018-05-17 14:51:41 +02:00
README.md Merge next into master (#529) 2018-12-21 17:17:26 +01:00
tsconfig.json Merge next into master (#529) 2018-12-21 17:17:26 +01:00
tslint.json Merge next into master (#529) 2018-12-21 17:17:26 +01:00
yarn.lock Merge next into master (#529) 2018-12-21 17:17:26 +01:00

polkadotjs license style npm travis greenkeeper dependency devDependency

@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/

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.
  • 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

development

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 -

  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

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

Docker

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 .