Proponent:
Date: Feb 2023 - Sept 2023
Requested Allocation: 310,000 USD - 45,588 DOT (EMA7 - $6.8)
This proposal seeks funding from the Polkadot Treasury for Manta Wallet, covering the accomplished work of Manta Wallet Browser Extension during the period from Feb 2023 to Sept 2023.
For full details about our all progress and achivement, please refer to the links below:
MantaWallet is the leading comprehensive non-custodial wallet for the Polkadot and Kusama ecosystems. With the browser extension installed, Manta wallet allows you to engage with Web3 apps on the Manta blockchain.
Manta Wallet has been released for more than half a year. It is the wallet with the second largest number of users in the Polkadot ecosystem (the first is the official Polkadot.js).
The MantaWallet team started building in Feb 2023. Since then, we have been highly focused on building fast and efficiently. Below are our achievements by the numbers:
There has three parts in Chrome Extension V3 version.
In order to better integrate the web3 ecosystem, a set of RPC communication protocol has been designed based on PostMessage.
In Service Work, we have many things to handle, such as:
This looks a bit familiar, like a backend framework. Yes, we are designing a backend framework. I think everyone should be familiar with Koa.js. I borrowed Koa's ideas and designed an RPC version of the framework.
Kumi.js:
At the organizational code level, use the classic Controller & Service & Model.
Especially important, the ServiceWork will be restarted within 5 minutes at most, so there is no session in memory, and all users' data is persistence in IndexedDB/Chrome Storage.
Manta-SDK is implemented using TS/Rust and focuses primarily on zkAddress and zkAssets functionalities. It enables operations such as Public2Private for Assets, PrivatetoPublic for zkAssets, privateTransfer, and implements features like zkNFT.
The primary aim of Manta-SDK is to provide a set of functionalities including zkAddress, zkAssets, and asset transfer operations that any wallet can easily incorporate through simple configurations. By encapsulating complex logic and offering a user-friendly API, it aims to simplify integration for developers. Currently, it supports two environments: Node and Browser.
Interface List: https://github.com/Manta-Network/sdk/blob/signer_extension/manta-js/package/src/interfaces.ts
For detailed introductions, refer to: https://github.com/Manta-Network/sdk/blob/signer_extension/manta-js/docs/how-to-use-manta-js-sdk.md#some-key-class-introductions
Example List
Documentation List
Currently, integration with wallets is confirmed through the dependents listed on npm. However, there are also some undisclosed projects utilizing Manta-SDK.
After integrating Manta-SDK, wallets inject some core methods into browsers, enabling interaction with dApps.
Solana's Phantom raised $118 million for development, serving over 3 million users. That is around $39 per user.
Consensys (MetaMask) raised $726 million for development, serving over 25 million users. That is around $29 per user.
Polkadot’s SubWallet received funding exceeding $1 million and is now serving over 250,000 users. That is only around $5 per user.
Funding \ Wallet | MetaMask (ETH) | SubWallet (DOT) | MantaWallet |
---|---|---|---|
Total Funding | $726,000,000 | $1,286,717 | $310,000 |
Total users | 25,000,000 | 270,000 | 215,000 |
Cost per user | $29 | $5 | $1.44 |
Number | Specification |
---|---|
0a. | MIT |
0b. | Early technology and product research, wallet UI and basic functions, ZK related SDK design |
1. | Run Singer SDK in Extension |
2. | Store and encrypt/decrypt seed from storage |
3. | Design lock and unlock logic |
4. | Sync UTXO data to IndexedDB |
5. | Token structure design |
6. | Transaction structure design |
7. | Wallet structure design |
8. | Provider Inject |
9. | Create/import workflow - Choose create/import |
10. | Create/import workflow - Create password |
11. | Create/import workflow - Wallet import input |
12. | Create/import workflow - Wallet create seed/mask |
13. | Create/import workflow - Account details |
14. | Home page - Menu bar |
15. | Home page - Total Balance |
16. | Home page - Token Balance List |
17. | Home page - Network Choose |
18. | Home page - Private/Public Choose |
19. | Home page - Address Display |
20. | Home page - Account Details Link |
21. | Account Setting - Rename account |
22. | Account Setting - View recovery phrase |
23. | Account Setting - Delete Account |
24. | Account Setting - Unlock wallet |
25. | Dapp - DApp connected list |
26. | Dapp - DApp connection request |
27. | Dapp - DApp Signature request |
28. | Dapp - DApp disconnect action |
Number | Specification |
---|---|
0a. | MIT |
0b. | SDK features & Wallet features |
1. | Sync page |
2. | Sync loading page |
3. | Initialization page |
4. | Home page balance sync |
5. | Ledger data checkpoint sync |
6. | New users sync the UTXO data. Improve initialization performance |
7. | Implacement parsed data save |
8. | PR Check CI |
9. | Build private-related transactions on DApp, https://github.com/Manta-Network/sdk/tree/signer_extension/manta-js#if-you-want-to-connect-manta-wallet-in-your-dapp-build-private-related-transactions |
10. | Integrate the SDK into your wallet, https://github.com/Manta-Network/sdk/tree/signer_extension/manta-js#if-you-want-to-test-the-sdk-or-integrate-the-sdk-into-your-wallet |
11. | zkSBT related features, https://github.com/Manta-Network/sdk/tree/signer_extension/manta-js#if-you-want-to-test-zksbt-related-functions |
12. | Transfer assets from Public to Private |
13. | Transfer zkAssets from Private to Private |
14. | Transfer zkAssets from Private to Public |
Number | Specification |
---|---|
0a. | MIT |
0b. | Chrome Web Store & Security audit |
1. | Google developer account apply / Group Account |
2. | Banner & cover & description document |
3. | Privacy policy links |
4. | Code organization before audit |
5. | Handle audited issues and confirm audit reports |
Number | Specification |
---|---|
0a. | MIT |
0b. | Optimize Wallet |
1. | Integration Manta Network |
2. | Sync Transaction State from chain |
3. | Sync Transaction history from chain |
4. | Sync balance when tx successful |
5. | Transaction detail and lists |
6. | Auto clean ledger data |
7. | Update Total Balance when change network |
8. | Sync token list from github configuration url |
9. | Save Network data to indexedDB |
10. | Disconnect dApp |
11. | UTXO consolidation |
12. | Add a retry mechanism to the initial_sync |
13. | Add caching to the getMetadata interface that takes up too much bandwidth |
14. | Add sdk node example |
15. | Add Api estimateTransferPostsCount and consolidateTransferSend |
16. | Add ledger sync progress, total ledger count and synced ledger count api |
We have a community of 719,000+ organic followers on Twitter and 50,000+ members on Telegram and Discord. No paid marketing activities are implemented – all users are organic.
We are very active in engaging with our partners & communities. We have done 40 AMAs, Twitter Space and online & offline presentations with communities & partners in the ecosystem.