Plutonication
- Team Name: Plutonication
- Payment Address: 1WmPE1X9Ykpb7QcVamPtUSRjEZy2GMDeTm5N72DyXYiqMCo (USDT)
- Level: 2
Project Overview 📄
Overview
Please provide the following:
If the name of your project is not descriptive, a tag line (one sentence summary).
- Communications protocol that enables seamless interactions between dApps and wallets across all platforms.
A brief description of your project.
-
Plutonication allows users to connect PlutoWallet to other dApps seamlessly on any platforms, accross multiple codebases. DApp just generates a QR code and once it is scanned in the wallet, they will pair and the wallet will be able to receive transaction requests from the dApp. It works on the same principle as WalletConnect protocol.
-
You can see a short (90 sec) demo here: https://youtu.be/hw2B8-sBc9A?si=O8MiWa0Wq1jxfZdr
An indication of how your project relates to / integrates into Substrate / Polkadot / Kusama.
-
Currently, the only way to connect your mobile wallet to other dApps is to use Wallet connect protocol, or a very clunky Polkadot Vault (Parity signer).
-
We think, we will be good competitors to WalletConnect and that we will do will better than them!
-
Our Plutonication Extension already works with most of the web dApps as supposed to WalletConnect, which is implemented into only a handful of dApps.
-
WalletConnect is also only available in javascript and we would like to expand it further to other programming languages.
-
C# is a very popular programming language for games and there have not been much focus on it in the Polkadot Ecosystem appart from Ajuna Network and their excellent Substrate.NetApi. We are dirrectly communicating with Ajuna developers to help better coordinate the Substrate.NetApi development and Plutonication, so that their are dirrectly compatible with each other.
An indication of why your team is interested in creating this project.
-
We have been very pationate about Plutonication since the beginning. We have noticed the lack of WalletConnect protocol before it was available.
-
We have been working on Plutonication in our free time to prove the concepts are possible.
-
We have also landed a second place at Polkadot Global Series: Europe edition 2023 hackathon in Web3 and Tooling category.
Project Details
We expect the teams to already have a solid idea about your project's expected final state. Therefore, we ask the teams to submit (where relevant):
Data models / API specifications of the core functionality
Native Plutonication:
Plutonication on existing polkadot.js apps:
An overview of the technology stack to be used
- Plutonication server (Python): Flask, Flask-SocketIO
- Mobile Wallet: https://github.com/rostislavLitovkin/plutowallet
- Plutonication Native (C#): SocketIOClient, Substrate.NetApi
- Plutonication Native (TS): socket.io-client, Polkadot.js
- Plutonication Extension: socket.io-client, Polkadot.js extension
Documentation of core components, protocols, architecture, etc. to be deployed
Plutonication Server
- Used for reliable establishing of connection.
- Passes payloads between Wallets and dApps.
Mobile Wallet
- Has access to the private key
- signs the payloads and sends them back to the dApp.
- Never exposes the private key
dApp
- needs to have access to either: Plutonication Native / Plutonication Extension
Plutonication Native
- A simple package that allows the dApp get connected with the Mobile Wallet.
- Connects the dApp with the Plutonication server.
- Helps to generate a QR code for the Wallet to establish the connection.
Plutonication Extension
- a polkadot.js extension that works with any existing dApp that supports polkadot.js extension.
- Connects the dApp with the Plutonication server.
- Generate a QR code for the Wallet to establish the connection.
PoC/MVP or other relevant prior work or research on the topic
- Second place at Polkadot Global Series: Europe edition 2023 hackathon in Web3 and Tooling category.
- https://github.com/cisar2218/Plutonication
- Plutonication is integrated to: https://github.com/rostislavLitovkin/plutowallet
- https://github.com/rostislavLitovkin/plutonicationextension
What your project is not or will not provide or implement
-
Any improvements to PlutoWallet appart from the things needed for Plutonication to work in the PlutoWallet.
-
Although it is planned support Kotlin and Swift programming languages as well, it is not part of this grant proposal.
-
We are certainly willing to make PRs to other popular dApps to utilise Plutonication, it is also not part of this grant proposal. We would be willing to do a follow-up grant or get a treasury funding to make the PRs.
Ecosystem Fit
Help us locate your project in the Polkadot/Substrate/Kusama landscape and what problems it tries to solve by answering each of these questions:
Where and how does your project fit into the ecosystem?
- Our project is comparable to WalletConnect, which was also our inspiration.
WalletConnect
-
When we started making our first prototypes in February, WalletConnect was not available in the Polkadot Ecosystem yet. Even thought they have taken a lot of time and had a lot more experience then us, they were unable to make quick and elegant deliveries. WalletConnect still is not supported by most of the dApps. We think we can do better. Actually, we already did.
-
We made a Plutonication Extension, which already allows you to interact with existing dApps, even though they have not implemented the Plutonication standard directly. This can be a perfect middle ground during the transition of popularizing the Plutonication. Even if the user wanted to use a new niche dApp, they can do so with Plutonication.
-
Wallet connect is also only supported in javascript. We want to make Plutonication available in more languages, including a very popular C# language, which is mostly used for game development. We will make web3 gaming possible on game consoles, thanks to the Plutonication.
-
WalletConnect's server solution (also known as WalletConnect cloud) is not opensourced. We want to be open to everybody and fully opensourced.
SubConnect
-
This is a great aggregation of wallets. This certainly improves the UX and simplifies the development for developers. However, it is not trying to do the same thing as Plutonication. Plutonication tries to achieve connection between 2 different platforms (like mobile wallet on Android and dApp on web on Windows).
-
It may be certainly a good idea to talk to SubWallet to implement Plutonication into the SubConnect solution.
Tesseract
- Tesseract is a great solution for connecting a wallet and a dApp together on a single device. However, Plutonication allows wallets and dApps to be connected across different devices.
@talismn/connect
- This is similar to SubConnect. Once again, we try to solve a completely different problem.
Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dapp's userbase, yourself)?
-
dApps developers - To integrate the Plutonication in their dApps. We will ensure that the developers will receive a good documentation.
-
Wallet developers - We are welcoming other wallets to use the Plutonication. We would like to help them make this possible.
-
Users - In the end, it will be mainly used by mobile focused users. They will be able to interact with web3 apps on unusual platforms, like game consoles, smartwatches ...
What need(s) does your project meet?
-
You are unable securely interact with dApps on gaming consoles, smartwatches and other unusual platforms. Without Plutonication, you would have to expose your private key, which is very unsafe.
-
You can also interact with existing web dApps with your mobile wallet. Again, you do not need to expose your private key to multiple places (in this case browser extension wallet), which would be very unsafe.
Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem?
- Yes, WalletConnect.
If so, how is your project different?
-
We support more programming languages. We also have a browser extension that enables Plutonication on existing dApps.
-
WalletConnect also mainly focuses on Ethereum ecosystem. We are focusing only on Polkadot.
Team 👥
Team members
Name of team leader:
Rostislav Litovkin
Names of team members:
Valentina Gómez
Dušan Jánsky
Contact
- Contact Name: Rostislav Litovkin
- Contact Email: rostislavlitovkin@gmail.com
- Website: https://github.com/cisar2218/Plutonication
Legal Structure
- Registered Address: Píškova 1946/12, 155 00, Prague, Czech republic
- Registered Legal Entity: None
Team's experience
Rostislav Litovkin
- Alumnus at Polkadot Blockchain Academy 2023 in Berkeley
- Experienced .net MAUI developer, e.g.:
- Galaxy Logic Game (successful game for watches and mobiles, 50k+ downloads)
- Frontend developer at Calamar explorer
- Successful student at Polkadot DevCamp #2
- Successful student at Solana Summer School
- Polkadot Global Series 2023 (Europe) - second place
- Audience choice prize at EthPrague 2023
Valentina Gómez
- Alumnus at Polkadot Blockchain Academy 2023 - Berkeley.
- Full stack web developer in TeamClass.
- Financial Engineer
Dušan Jánsky
- Alumnus at Polkadot Blockchain Academy 2023 in Berkeley
- Student at Faculty of Electrical Engineering Czech Technical University in Prague - Opens Informatics (specialization in computer games and computer graphics)
- Fullstack developer at Universal Scientific Technologies
- Polkadot Global Series 2023 (Europe) - second place
If anyone on your team has applied for a grant at the Web3 Foundation previously, please list the name of the project and legal entity here.
Rostislav Litovkin helped with Calamar.app - TopMonks s.r.o
Team Code Repos
- https://github.com/ThunderFly-aerospace/thumby
- https://github.com/topmonks/calamar
- https://github.com/RostislavLitovkin/GalaxyLogicGameMAUI
- https://github.com/RostislavLitovkin/Uniquery.Net
Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine.
Team LinkedIn Profiles (if available)
Development Status 📖
If you've already started implementing your project or it is part of a larger repository, please provide a link and a description of the code here. In any case, please provide some documentation on the research and other work you have conducted before applying. This could be:
-
The idea was already tested by WalletConnect. Now, we are expanding it further in the Polkadot ecosystem.
-
We have already made working MVPs which can be found here:
Development Roadmap 🔩
This section should break the development roadmap down into milestones and deliverables. To assist you in defining it, we have created a document with examples for some grant categories here. Since these will be part of the agreement, it helps to describe the functionality we should expect in as much detail as possible, plus how we can verify and test that functionality. Whenever milestones are delivered, we refer to this document to ensure that everything has been delivered as expected.
Below we provide an example roadmap. In the descriptions, it should be clear how your project is related to Substrate, Kusama or Polkadot. We recommend that teams structure their roadmap as 1 milestone ≈ 1 month.