vote pending
dApp Wallet Integration Tool (Mandala)
Current Project Status
vote pending
Amount
Received
₳0
Amount
Requested
₳100,000
Percentage
Received
0.00%
Solution

This open-source React component will have UI/UX and wallet logic and support local node/indexer infrastructures for the building of true dApps, including governance functionality for CIP-1694.

Problem
  • Problems with dApp wallet integration, including Electron/mobile or React/NextJS apps
  • Backend infrastructure limitations when connecting your wallet
  • Wallet solution needs for a governance app

Team

2 members

dApp Wallet Integration Tool (Mandala)

Please describe your proposed solution

This tool offers developers the ability to access on-chain data in multiple ways when building a dApp, not only through the wallet but tapping into the Cardano blockchain itself. If offers the following solutions and differentiators from the existing offerings:

  • Not just a wallet, but a solution for developers to create a fully decentralized application
  • Not just a wallet tool, but an authentication/identity layer
  • Gives developers the ability to not have to rely on browsers that only allow Google extensions
  • Open source aspect allows ability for other developers to implement functionality that can be shared with the community

Since our last Catalyst proposals were very close to being funded, we recognize the community's support and recognition that there is a need for our tool. We are also looking to add increased functionality, compared to our previous applications. Now we will also be integrating the following into the tool:

  • Full governance tools for CIP-1694
  • Register dRep
  • Delegating to dRep
  • View proposals
  • Vote for proposals

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. 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, not a lot of wallets are open source, and the user has to trust the integrity of the wallet provider. Instead of depending on the integrity of wallet developers, this component being fully open-sourced offers a fully transparent and trustless environment. 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.

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. 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 (Kupo/Ogmios, Koios, 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.

  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., Kupo/Ogmios, Koios, 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 write-up by the Cardano Foundation: <https://developers.cardano.org/blog/2023-06-15-june>.

Mandala provides a great pilot to showcase this tool's functionality, giving NFT holders more decentralized control of their assets, especially as the project moves forward with gameplay.

14-FAQ-0b8613.jpg

Please define the positive impact your project will have on the wider Cardano community

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.

The impact of the tool will be measured through GitHub metrics, as developers fork the project into their own dApps. We will also be providing updates and featuring use cases of the tool, as well as sharing the community's contributions to the open source.

The source code will be shared through our GitHub. Mandala's dApp will provide a live use case of the tool.

What is your capability to deliver your project with high levels of trust and accountability? How do you intend to validate if your approach is feasible?

Since Mandala came to Cardano in December 2021, our project has reinvested the revenue from its Sovereigns NFT collection into the Mandala 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. We believe in Cardano's eUTXO approach and its future of scalability. We have continued to build and deliver throughout the bear market, with the latest release of the Mandala dApp featuring special collections for increased bonus rewards. The recently updated rewards center now features multiple comics collections for redemption (as on-chain assets).

What are the key milestones you need to achieve in order to complete your project successfully?

Milestone 1: Architecture:

  • Wallet component architecture development, UX/UI design
  • Preliminary documentation (GitHub, white paper, etc.)

Milestone 2: Development:

  • Wallet integration tool development
  • Editing documentation
  • Feedback (user feedback on Discord, developer feedback on GitHub, etc.)

Milestone 3: Testing

  • UX/UI testing, security testing
  • Feedback (user feedback on Discord, developer feedback on GitHub, etc.)
  • Third-party auditing

Milestone 4: Infrastructure

  • Integrating different backend infrastructures into the wallet
  • Ratification of documentation

Milestone 5: Beta release

  • Wider UX/UI testing
  • Marketing development

Final Milestone: Product release

  • Product launch
  • Educational campaigns and multimedia documentation
  • Public access to the tool on GitHub
  • Marketing

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.

Please provide a cost breakdown of the proposed work and resources

Total: ₳100,000

Project management ₳10,000

Tool development ₳52,000

Testing ₳8000

Backend integration development ₳10,000

Documentation ₳8000

Security audit ₳12,000

No dependencies.

How does the cost of the project represent value for money for the Cardano ecosystem?

The cost of development of this tool supports developers to grow the Cardano ecosystem, providing long-term ROI for both the community and the chain. Wallet integration directly into a decentralized application makes it easier and more streamlined for users to use the dApp, which in turn translates into higher transaction volume on the Cardano network.

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3m 24s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4m 59s
    Darlington Kofa
0:00
/
~0:00