Polkadot js plus extension, or for short Plus, is Polkadot js extension, plus new features. It is a user-friendly wallet to interact with the Polkadot/Substrate based blockchains/parachains through a browser. It allows users to access their account(s), which can also be used to interact with decentralized apps.
Plus is based on Polkadot js extension, and gets constantly updated with it. Plus does whatever the original extension does and more.
Motivation
The reason why we have decided to work on this project is because every day users comment on social media complaining about the complexity of the original application: "why the extension does not show the balance?", "It is too complicated for new/average users to work with", "It is too abstract", " why should we go to another web site to work with the extension?", " how could contribute to the crowdloans via extension?", and so on. Hence, we started to work on the Plus extension to address such concerns/requests from the Polkadot community.
Polkadot js Plus features
The following features are currently available in Polkadot js Plus extension:
Problem statement
Polkadot js Plus team aims to provide additional new features, and the budget is requested for the development of the 1st milestone:
Milestone 1:
Nomination pools (Phase 2): Nomination pools as a new feature of the Substrate is currently implemented on Kusama, and Polkadot js Plus is among the first wallets to provide this feature for the community. The nomination pool is a work in progress, where some new features are on the list to be added to the blockchain, and also there are some currently added features like “kicking all members out when pool is destroying” and no UI are currently supporting those features. We want to add the nomination pools new features which is not currently available in the extension, such as facilities around Blocked and Destroying state where: If the pool state is in Blocked, and you are the state_toggler or root role, then you should be able to unbond and withdraw anyone else, and if the pool state is in Destroying, then anyone should be able to unbond and withdraw anyone, except the depositor.
Proxy accounts support: Proxies are a great feature because they add in a layer of security to the Polkadot ecosystem. Rather than using funds in one sole account, smaller accounts with predefined roles complete tasks for the main account. But using this great feature is difficult for users.
As quoted by two councilors below, there is a lot of enthusiasm for using proxies, but almost no support from extensions.
Will (Paradox) on Element: “I would love it if I could add a 'proxy only' account in Polkadot.JS/extension, it would require the public address of the real account and the private keys for a proxy account. Any transactions would be signed by the proxy on behalf of the real”.
Bryan Chen on twitter: “Proxy account is such an underrated feature that can significantly improve account security but we have virtually zero support on this amazing feature. It will be great if we can use this feature without switching browser extensions.”
We want to add the support of proxy accounts to the extension so that users can easily create and utilize proxy accounts while minimizing the risk of their main/stash account.
Milestone 2:
Governance 2 (Phase 1): Almost all of the governance features are currently included in the Polkadot js Plus extension, we would like to have Governance 2 features in the extension as well. Community involvement is still low in governance activities like democracy voting. Sometimes proposals are very technical, and sometimes users may not be available in the voting period to vote. Providing vote delegation besides all governance facilities in Polkadot js Plus extension, will increase the tokens participated in different Governance voting activities.
Identity management: Identities exist on-chain but cannot be seen on the extension’s account page, we will bring the Identities into the extension. Accounts’ names in the extension may differ from their on-chain identities, and this may be inconvenient to distinguish which identity belongs to which name/Id. The problem will be more for users with multiple accounts. Moreover, in social recovery, when you lose your account, most probably you cannot remember the address! By integrating the Identity management into the extension, users not only can easily set their identities but also request judgements using the extension. In addition, using the on-chain identity instead of the local name of accounts, makes the accounts management more convenient. Identities also help social recovery be more user-friendly for users.
Light client integration: We would like to provide the Polkadot light client as an end point in the extension, which will make the extension much more standalone, and help the ecosystem to be more decentralized. If blockchain endpoints stop servicing for whatever reason, since no data can be fetched from them, hence all extensions and wallets would be useless. Integrating the light client inside the extension not only helps to distribute the Polkadot ecosystem more but also lets the extension operate while all existing endpoints stop servicing. However, we need to consider the sync waiting time when using the light client.
Incorporating community feedback (link):
Based on the comments and the discussion on the Kusama Direction channel, we have modified the proposal as follows:
we have reduced the redesign section budget by approximately 42% through:
we have replaced the word "redesign" with "re-develop" which makes more sense
we have moved "identity management" from milestone 1 to 2
we have added "Proxy accounts support" as a more critical feature to milestone 1
Here you can find the Revised proposal.
The previous version is also available for comparison and transparency.
Yours sincerely,
Polkadot js Plus team
Polkadot js Plus Extension