User experience optimization and new function development of Subscan Multi-sig Tool

2yrs ago
1 Comments

Multisig is an important module in the Substrate ecological network, which is of great significance for the fund management and permissions. It is widely integrated into the runtime by the networks that developed based on Substrate, and is gradually accepted and used by more users. Subscan multi-sig app is designed to help users create and manage multi-signature accounts and extrinsics. We keep working to provide users with a more convenient multi-signature tool, and will aim for this goal in the future.

Since the grant delivery in Aug 2021, we have also fixed some disturbing bugs, and have been adding many new exciting features and enhancing UI/ UX for the multi-sig tool. The goal of this proposal is to seek funds for the new features developed for Subscan multi-sig app (Github).

These new features are divided into 3 Milestones:

  • We have already completed Milestone 1 and 2, and released (open sourced) it for anyone to use. Welcome to use and experience the Subscan multisig tool.

  • We sincerely welcome suggestions and feedbacks from the community to help us improve UX. Over the next 3 months, we will complete Milestone 3 and add more community-requested features.

More details can be found on Github:

It can be seen that the number of commits is much more than Issues. Many small features are not recorded here, and the actual workload will be more.

In summary, our work focuses on two points:

**- Make it more convenient for users to use multi-signature related functions.

  • Improve compatibility and facilitate more network integration.**

Here are some details of the main features:

  • Custom endpoints for new network
    The default support networks include Polkadot, Kusama, Darwinia, Crab and Pangolin. Users can now add custom substrate-based chain by configuring name, endpoint and explorer(optional).
    With this function, we can now serve all networks with standard multisig modules, without the trouble to deploy another fork instance. Thus, it becomes a convenient facility in the Polkadot ecosystem, and users without coding experience can configure networks with ease.

    Issue & PR related

  • Historical multi-sig extrinsic indexing
    Historical multi-sig extrinsics (including confirmed/cancelled ) are stored and indexed using SubQuery. Accounts(member account + threshold) with extrinsic history will be stored as well. This is a prerequisite for importing multi-sig account from url.

    Issue & PR related

  • Import a multi-sig account (which has multi-sig extrinsic history) from url. (e.g. https://multisig.subscan.io/account/1x8aa2N2Ar9SQweJv9vsuZn3WYDHu7gMQu1RePjZuBe33Hv#r%3Dwss%3A%2F%2Frpc.polkadot.io
    We know that a multi-signature account can be assembled and saved locally for the sent multi-signature extrinsic, according to the threshold and member accounts. Thus, when a user shares a url containing an endpoint and a multi-signature address, the corresponding threshold and member accounts are queried and saved locally for information viewing and further operations.
    Issue & PR related

  • Import & export a multi-sig account through json file
    Creating a multi-sig account by manually input dozens of member accounts can be quite annoying. This feature can save us the trouble of doing so.


    Issue & PR related

  • Optimize the acquisition method of call data to adapt to more usage scenarios
    When a member initiate an extrinsic from other tools such as polkadot.js/apps, the call data may not store on chain, and user can manually input the call data which will be verified correspondingly.
    Issue & PR related

  • Compatible with metadata v14 upgrade
    Some related data structure have changed, such as call data stored on chain. We’ve made relevant adjustment to make it compatible with metadata v14 upgrade.

UI/UX improvement:

Future plans:

  • Optimize network configuration architecture, support external chain submit RPC endpoint and subquery GraphQL endpoint configuration by PR.

    We are committed to building multi-sig tools as an open, highly compatible infrastructure like the polkadot.js app. In order to achieve this goal, we still need to complete these tasks: Issue & PR related

    • Open source SubQuery schema/template so that external chain can deploy and host the node by themselves.
    • Submit PR to include the RPC endpoint and subquery GraphQL endpoint into the menu.
    • Automatically check the format and usability of PR (subsequent manual review will be carried out).
    • Update README to provide instructions.
  • Batch import/export multi-sig accounts
    Issue & PR related

  • Deploy the SubQuery service for networks that have frequent multi-sig extrinsics.
    Issue & PR related

  • Simplify transfer operations.
    Currently it requires user to select module and call to make transfer extrinsic. To make it easier, we plan to add a separate entrance for transfer.

    Issue & PR related

  • Add “favorite” and “share” multi-sig account features.
    Issue & PR related

  • Add more community-requested features.

  • Add user education docs, videos, etc.


Funding

development and maintenance cost:

Total proposed amount: $102,300


Funding usage:

The above-mentioned funds are used for the labor cost of subscan multi-signature tool milestone1-3 (9 months in total) development. Here is the detail:

  • Front-end development engineer: 1 full-time, 1 part-time
  • Product Manager: 1 part-time
  • Test Engineer: 1 part-time
  • UI & UX Designer: 1 part-time

The average monthly labor cost is $11k. Due to the different working hours of part-time staff each month, the funds applied for each milestone are also slightly different.


2022-04-21 06:04:54 (+UTC), Block #9967626

DOT EMA30 Price ( USD ): 19.389

Number of DOT: 102,300 USD -> 5,276.305 DOT

https://polkadot.subscan.io/tools/price_converter?value=102300&type=time&from=USD&to=DOT&time=1650522208

Up
Comments
No comments here