not approved

React Component Decentralized Wallet

₳120,000.00 Requested
Ideascale logo View on ideascale
Community Review Results (1 reviewers)
Feasibility
Value for money
Impact / Alignment
Solution

This component has UI/UX and all the logic of a regular wallet for developers to use in their project without wallet extensions or mobile wallets and supports use of local node/indexer infrastructure.

Problem:

Cardano dApp developers have to rely on third-party wallet extensions or mobile wallet support for their dApp to gain access to the blockchain, or difficult-to-learn serialization libraries or SDKs.

Yes Votes:
₳ 51,004,347
No Votes:
₳ 60,223,559
Votes Cast:
222

[IMPACT] Please describe your proposed solution.

First, wallet extensions run on their own infrastructure to aggregate information about users’ UTXOs from the blockchain, without giving that same power to the user. Moreover, no wallet providers provide information about their backend infrastructure. If the wallet provider’s server or DNS goes down, or some other global event takes place, the wallet will go down and the user will not have access to it.

Second, not a lot of wallets are open source, and the user has to trust the integrity of the wallet provider.

Third, it is difficult to build a true dApp without having it run in a web browser to gain access to wallet extensions for signing and managing transactions. This is especially the case if a developer wants to use technologies like Electron or Apache Cordova to make desktop or mobile applications for a smoother native user experience. Even though there are existing mobile wallets to connect to your cloud-hosted application, those wallets do not support stand-alone native mobile and desktop applications.

Our primary reason to open source this wallet solution is to make wallets more transparent and decentralized, in order to protect users from unexpected outages. Our decision to target React is based on its dominant market share, being the most used web application framework in the world.

The Merkaba wallet seeks to offer a decentralized solution for a range of users on Cardano: 1) new people being onboarded to Cardano via the Mandala dApp, who want a simple and stable wallet solution; 2) anyone already on Cardano who would like a decentralized wallet with the ability to use locally run nodes/indexers; and 3) developers in the Cardano community who may find possible value in this wallet approach and want to integrate it in their own projects.

The value of the wallet will be demonstrated in a number of ways. Its impact will be felt in the long term via community engagement. In terms of users, this relates to how many transactions are done, opt-out/opt-in metrics, etc. In terms of developers, we will be interested to see how it is utilized in future dApp projects; this will be measured by monitoring fork metrics on GitHub. Finally, we will be inviting those developers who use this component and are running their own node to share it with others, thereby supporting the overall Cardano infrastructure. Going forward, we will be providing a decentralized index of participating infrastructure providers.

  1. This wallet is integrated with the Mandala project. Members of Mandala will benefit by having this wallet as the project grows on Cardano, to access their NFTs and transact in a decentralized way. The Mandala dApp will feature an Electron wallet built using this React component; this “Merkaba” treasure chest will be appreciated by Mandala members as more dimensions of the game come online.
  2. This wallet can uniquely be utilized in any web-based dApp that supports React components like NEXT.js or Vue.js. Developers will benefit from this open-source solution. Its value for Cardano is in supporting development of true dApps.
  3. It is also unique in how it allows you to specify your own blockchain infrastructure (e.g., Ogmios, Kupo, Carp).

This wallet build is associated with the Mandala project, as part of its ongoing initiative on Cardano to support dApp development, develop gameplay on the chain, and raise awareness about decentralization while onboarding new people. For more info on Mandala, see the recent write-up by the Cardano Foundation: <https://developers.cardano.org/blog/2023-06-15-june>.

[IMPACT] How does your proposed solution address the challenge and what benefits will this bring to the Cardano ecosystem?

First, this React component is created to run in the user’s space or in the developer’s project directly, helping decentralize their creation. The ability to specify your own infrastructure endpoints helps make the application more resilient to server outages or global events.

Second, instead of depending on the integrity of wallet developers, this component being fully open-sourced offers a fully transparent and trustless environment.

Third, since this is a React component it can be directly used in any project built with web technologies like React, NEXT.js, or Vue.js, which can then be compiled into a desktop or mobile Electron app or use other frameworks like Apache Cordova or just simply hosted by the developer. Developers can customize the look of their wallet utilizing simple CSS.

Currently, Daedalus is the only wallet that runs its own Cardano node for chain information. However, it will only allow you to run this node locally on the computer Daedalus is running on. The React component wallet we are building changes this: in the settings, you can specify your own endpoints to the services it needs (Ogmios, Kupo, Carp, etc.), which can all run on separate dedicated hardware. We provide a small tool written in bash script that provides a TUI called Noderunner, which helps users in spinning up the services outlined above. For more on Noderunner, see it in action in the Merkaba dApp; documentation can be found on GitHub.

[IMPACT] How do you intend to measure the success of your project?

The project will demonstrably strengthen Cardano’s ecosystem by providing an actionable development component. In the short term, this wallet will offer new and existing Cardano users an alternative to centralized infrastructures. In the long term, as more developers use the wallet and more features are added, it may find wide adoption. Its integration in the Mandala dApp also provides an example of how it could be used in onboarding new Cardano users: it will offer a use case for people entering the blockchain space for the first time, providing an GAMIFIED educational context for them to create a wallet, stake, create a sovereign identity, and even buy an NFT.

Our metrics for gauging success will be quantitative and qualitative, including feedback from users and developers, as well as the metrics tools that GitHub offers for tracking forks, pull requests, and so forth. We will also learn from user experiences in a dedicated support channel in our Discord community, and following comments on social media platforms.

[IMPACT] Please describe your plans to share the outputs and results of your project?

The open-source code for the wallet will be available in a GitHub repository, and a white paper will provide further documentation. We will share news and updates on the wallet with the Cardano community via Twitter, our Discord server, and public forums. Finally, we look forward to leveraging this project by extending its functionality in further open-source releases in the future.

[CAPABILITY/ FEASIBILITY] What is your capability to deliver your project with high levels of trust and accountability?

Since Mandala came to Cardano in December 2021, our project has reinvested the revenue from its Sovereigns NFT collection into the dApp, which allows all NFT holders to stake them and earn rewards but also supports SPOs in a clan-based system aligned with their goals to make a positive difference in the world and thus gain new delegators.

[CAPABILITY/ FEASIBILITY] What are the main goals for the project and how will you validate if your approach is feasible?

The goals for this project (see problem and solution described above) are directly related to a need we encountered while building the Mandala dApp. We are confident about the feasibility of the development timeline, because a working proof of concept already exists (see our GitHub repo and the video link above). Development will be visible on GitHub during all milestones, and achievement of the goals can be seen in the release version that will be used in the Mandala dApp.

[CAPABILITY/ FEASIBILITY] Please provide a detailed breakdown of your project’s milestones and each of the main tasks or activities to reach the milestone plus the expected timeline for the delivery.

Month 1: Wallet component architecture development, UX/UI design

Month 2: Wallet component development

Month 3: Wallet component development, UX/UI testing, security testing, white paper

Month 4: Beta release: continued UX/UI testing, marketing

Development progress will be shared on GitHub during all milestones.

This wallet is a discrete, stand-alone project. Based on successful funding, Mandala looks forward to subsequent development phases to add more advanced functionality, including tailored hardware solutions, based on needs connected to the Merkaba dApp and requests by the larger community.

[CAPABILITY/ FEASIBILITY] Please describe the deliverables, outputs and intended outcomes of each milestone.

Deliverables: production-ready React component wallet, NPM / YARN Installable package

Documentation: GitHub, white paper

Metrics: adoption, transaction volume, GitHub metrics

Feedback: user feedback on Discord, developer feedback on GitHub

As a use case, Mandala will be able to offer users a decentralized wallet solution that is integrated with the Merkaba dApp. This custom wallet solution will help the dApp in its goal to be 100% decentralized. Other developers will be able to similarly build a mobile dApp with an integrated wallet.

[RESOURCES & VALUE FOR MONEY] Please provide a detailed budget breakdown of the proposed work and resources.

Project management 10000 ADA

React component development 62000 ADA

Testing 8000 ADA

Documentation 8000 ADA

Security audit 12000 ADA

Electron wallet application 12000 ADA

Marketing 8000 ADA

[RESOURCES & VALUE FOR MONEY] Who is in the project team and what are their roles?

Mike (Bakon) Nowosielski – Lead Developer, Mandala

<https://www.linkedin.com/in/mike-nowosielski-6237051b9/>

https://twitter.com/anothervariable

Jon Shanker – CEO, Mandala <https://www.linkedin.com/in/jonshanker/>

Albion M. Butters, PhD – CCO, Mandala <https://www.linkedin.com/in/abutters>

Kevin J. Foxe – Executive Producer, Mandala https://en.wikipedia.org/wiki/Kevin_Foxe

Red Sheehan – Project Consultant <https://www.linkedin.com/in/bradleysheehan>

Mike Nowosielski is the lead developer, responsible for all development aspects of the project from conception to release. He has an extensive background in blockchain technologies, coming from Ethereum to Cardano in 2019, being an SPO since the ITN. He is also the lead developer of the Mandala dApp.

As the co-creators of Mandala, Jon Shanker and Albion M. Butters will oversee project management, including writing the white paper and testing within Mandala’s Discord community. Kevin J. Foxe will produce marketing videos for the wider Cardano ecosystem. Veteran blockchain developer Red Sheehan brings valuable experience as an external consultant; additional consultants will be employed for the security audit.

[RESOURCES & VALUE FOR MONEY] How does the cost of the project represent value for money for the Cardano ecosystem?

The budget above reflects the necessary funding for all aspects of development up to product release. The total funding request is justified by the great value of a React component for a decentralized wallet solution being available to the Cardano community.

Community Reviews (1)

Comments

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    d. 3 se. 24
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    d. 4 se. 3
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    d. 3 se. 48
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    d. 2 se. 16
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    d. 3 se. 14
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    d. 3 se. 19
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    d. 4 se. 59
    Darlington Kofa
0:00
/
~0:00