Most of the Crypto users use wallets as their primary gateway to enter Web3 for transactions. But, the major limitation of the chrome-based plugins hinders the interactions with other Mobile and Desktop based Dapps. In addition, every existing Crypto wallet out there interacts with a single Blockchain network that hinders the usability and interoperability. The developers are currently limited to writing their codebase for a single Blockchain and not able to support other Blockchains for which they have to rewrite the entire code again! In the current day world, there is a huge process that involves creating a zero-knowledge application and generation of proof that inspired us to build a redefined platform that improves the overall usability and makes the process simpler. There's a lack of Zero-knowledge based applications in the market that solves the Identity-related problems.
What it does
We have 3 major modules in our project, a. Panacea wallet b. Panacea SDK c. ZK-Box
· Panacea wallet supports operations like the signing of the transaction and other cryptographic operations across multiple platforms and blockchains that improve the overall usability and interoperability. · Panacea SDK helps Dapp developers to write globally compatible code across any EVM compatible blockchains. · With the Panacea SDK, developers can build new wallet solutions that can be used without downloading a separate wallet and if the code is according to the specification the Dapp Developers do not have to change any code to support new Blockchain. · ZK_Box helps us to authenticate into various applications instantly by generating Zero-knowledge proofs without revealing any of the private data. It also helps us validate various parameters of the users like age using zero-knowledge age proofs. More complicated zero-knowledge custom proof generation like voter anonymization can also be done easily using the ZK-box.
How we built it
- Brainstormed the entire idea using wireframes and user flows.
- We used Electron.JS for building a desktop wallet app.
- We used Zokrates for building the ZK-Box.
- We used Angular and Express.JS for Front-end and Back-end.
Challenges we ran into
Making the Desktop wallet compatible with multiple Blockchains was pretty challenging to solve.
Accomplishments that we're proud of
· We have successfully created a Crypto wallet that works seamlessly across all the Blockchains and across all the platforms.
What we learned
Building a Desktop app using Electron.JS was something new that we tried in this Hackathon. And, we tried using Zokrates for building ZK-Box that supports complicated ZK proofs.
What's next for ZK Uniwallet
We are excited to integrate ZK Uniwallet with Hardware wallets and support IoT-based applications.