Polkadot js plus 1st treasury proposal

2yrs ago
11 Comments

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.

PJP

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:

  1. View balances (crypto/USD) (link)
  2. Transfer funds (link)
  3. View transaction history (link)
  4. View an address as a QR code (link)
  5. Regular staking (stake, unstake, rebag, redeem, nominate, view rewards history, etc) (link)
  6. Nomination Pools (join/create pool, stake, unstake, redeem, nominate, manage pool, etc) (link)
  7. Supporting different endpoints (link)
  8. Crowdloans (View Auctions/crowdloans/contributions and contribute to crowdloans) (link)
  9. Governance (vote referendums, endorse proposals, vote/unvote councils, view motions, view/submit treasury proposals and view/submit tips) (link)
  10. Social account recovery (link)

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:

  • Re-developing of the current features by completely redesigning of the extension‘s UI/UX: Until now, we were mostly focused on bringing new functionalities to the Polkadot js Plus extension, and tried to be consistent with the UI of the Polkadot official extension. Even though we have received positive feedback from the community, we noticed that the community also wants a new design and user experience. Hence, we have decided to completely redesign the extension, to make users feel more comfortable and focus on what's important, by creating a stylized but instantly recognizable UI. In addition, users be able to efficiently and quickly get most of the common functionalities done on Kusama/Polkadot ecosystem blockchains. Furthermore, we rename the extension to “Polkagate”, to be as the gateway to Polkadot ecosystem.

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

Submission details:

All details are available in the proposal on google docs:

The revised version

The old version

Up
Comments
No comments here