-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Choko Wallet application #1022
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Choko Wallet application #1022
Conversation
|
Thanks for the application, @RoyTimes. I agree that wallets in the ecosystem still have a way to go regarding user experience. But as a user, I'd be rather worried about the use of localStorage. For example, the Cookie AutoDelete extension on Firefox is set to delete localStorage by default when you leave a site. Do you know of any similar wallets that might offer some insight into the safety, use or misuse of such a wallet or some of the features you are planning to implement? I remember Burner Wallet using cookies, but that wallet is clearly marketed as for temporary use. |
|
@semuelle as I have mentioned in the application, Near Wallet w/ code base is handling the private key this way and create a very smooth user experience. As a matter of fact, the storage items in the localStorage are not even encrypted. Given that the wallet is the most popular Near wallet, I think It's far more dangerous for uneducated users to misuse the product (or prevent them from trying to understand the problem at all). As I said in the application, we are at the more "easy to use" end for spectrum of wallets over "secure". |
|
Thanks for the reply, @RoyTimes. I felt like the application wasn't quite clear on the "easy to use" part, but I tested the NEAR wallet and found the balance between usability and warning messages quite good. Regarding the SDK and the SDK standard: if I understand correctly, you want to build a wrapper around EDIT: also still very much a draft, but might be useful: w3f/PSPs#29 |
|
Yup. We like NEAR wallet so we want it to work beyond the near ecosystem. For SDK, we will not create a wrapper around Ref to: https://github.com/RoyTimes/wallet-sandbox-demo/blob/master/wallet/src/App.js For wallet side |
Noc2
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the application. I have a couple of questions:
- Could you integrate the “Features: In Form of {Milestones}_{Features} - {Description}:” into the deliverables/tables of the milestones, because the milestones are actually what we evaluate as part of the deliveries and according to the contract?
- Did you consider using the social recovery pallet for your project?
- Could also add the localstorage part into the milestone?
- Regarding browser encryption for localstroage, I worked on something similar a long time ago. Maybe this is helpful for you: https://github.com/PACTCare/Dweb.page/tree/master/src/js/crypto, but I’m not up to date regarding the latest status of it and browser support.
Done. Sorry for the confusion for the original structure.
Not yet and it sounds like a good idea. I'm including it into future plans for now. There are tons of great features like this one and we would submit additional grant application for them.
Done. Now, milestone 1 explicitly says that we will store encrypted user key in localStorage.
For cryptographic, we would use the crypto wrappers we created with SkyeKiwi Protocol |
Noc2
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the update. Feel free to also integrate the crypto part. I’m happy to mark the application already as ready for review. However, my recommendation would be to also remove milestone 3 for now. On the one hand the “DeFi Integration” isn’t very clear at this stage on the other hand it would be easier to accept the grant at a lower price, see/experience an initial version of the wallet and then potentially continue to fund it via grants or treasury. In general, if possible feel free to reduce the price a little bit more. The discussion in the committee will probably be about if it makes sense to fund another wallet, so a lower price always helps with this decision.
semuelle
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For SDK, we will not create a wrapper around
@polkadot/extension-dappnor want to build any standard for connector. It would be quite straightforwards: the DApp will be redirected to the wallet with URL (i.e.https://wallet.url/sign?transaction=XXXXX), where XXX is the encoded form of the transaction parameter. The wallet will then initiate a transaction with pure@polkadot/api. For any parts regarding the "standard" for SDK, think about how teams submit PR to@polkadot/appto add in their network URL, color schema and custom types.
In that case, I would agree with @Noc2 and suggest to remove M3 and reduce the price accordingly.
Noc2
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the update. I’m happy to go ahead with it, even though it would be nice if you could reduce the price a little bit more. But let's wait what the rest of the committee say
semuelle
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not particularly keen on the wallet having a pallet dependency, but—if I understand correctly—all but the linkdrop will work without the pallet. Also, I think a web wallet could be really beneficial, so I'm happy to approve.
laboon
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm a bit wary of some of the features of the wallet (e.g. email seed recovery), but I also realize that I am not the target audience. And anything that can help with ease of use of the network, I am generally in favor of - it's a common complaint.
|
@alxs @cruikshankss Please take a look. Feedbacks welcomed. Thanks. |
Hi @RoyTimes, I have had a look at your application. Wallet security is one of the most complicated topics for me to study and think through & often takes me quite a while to understand all the wallet ideals that need to be met to make a truly secure wallet. I've actually already made a note a couple days ago to ask my team some questions to learn more about wallet security on our team call next week (specifically regarding your application). If you have any more insight on the ratio of all wallet ideals / the ideals you plan to achieve with this grant, that would be highly appreciated. Thank you! |
takahser
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @RoyTimes
I have a couple of questions:
- How will you connect to the networks? Are you going to run your own node or will you use the public endpoints?
- In case you're not running your own node(s), why limit the wallet to connect to just a few networks? It's not a lot of extra work to add the other networks and endpoints, if you make this part of your wallet configurable (which I'd assume you'd do anyway):
a almost blank dashboard but allow switching between networks (support at least Polkadot, Kusama and SkyeKiwi Network)
- Since you're going to fork the existing NEAR wallet, I think 9 months (6 FTE x 1.5 months) is a rather high estimation for the completion of M1. I'd assume, you'll be able to reuse most of the logic. Feel free to correct me, if that's not the case.
|
@cruikshankss The very core of this grant application is to bring an very easy to use wallet for the Polkadot ecosystem, which prioritize usability over security. This was made in response to the common criticism on the Polkadot ecosystem for hard to use and hard to understand the system. I made an argument earlier on that the NEAR wallet that we fork is a semi-centralized non-secure wallet but gain huge adoption and gain the blockchain a reputation for easy to use. We build this wallet to serve the under-served users for the Polkadot ecosystem with very little assets at stake but want to play with the ecosystem. For tightly secure wallets, there are good options like Parity Signer, Ledger Wallet with PolkadotJS Extension. And we are filling the gap for less security demanding users with a decently secure wallet option. |
|
|
@RoyTimes thanks for your answers.
|
|
|
@RoyTimes
In general, I still think M1 is a bit pricy for connecting to some RPC nodes, signing transactions using an already-existent library, and the corresponding UI work, that you can copy over from the NEAR repo (just talking about the template & styles, not the state management and business logic parts). But given the value proposition of a user-friendly web-based wallet, I'm willing to approve if you update your application doc in correspondence to what we've discussed in 1 & 2. |
|
I agree that a modern wallet for the Polkadot ecosystem would ideally be multi- and cross-chain first. I also think it would make sense to deliver some version of a polkadot.{js}-color scheme or custom node solution with the grant, but feel free to leave it as optional as discussed with @takahser. As for the linkdrop pallet, I think very similar functionality was implemented in this grant and you may be able to reuse the code from their deliveries. The use case is different, but the requirements seem basically the same. Could you look into it? I also agree that the first milestone seems very expensive, especially since you'll be able to reuse a lot of functionality from NEAR wallet and polkadot.{js}. I would actually like to ask you to reduce the price, also for M2 if you can indeed reuse the existing code I shared. But feel free to wait for the 5th approval by somebody else instead. Could you please also sign the T&Cs again, since we updated them yesterday? |
|
@RoyTimes sounds good. In that case, feel free to ping us again when you've updated the application. |
4c46f31
|
Hi All. CLA Signed. TL;DR for updates:
Please review and comment @takahser @semuelle @Noc2 @laboon @alxs Thanks! |
Noc2
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the update. I’m still happy to go ahead with it.
|
Sorry for the delay, not sure how I missed the email that a re-review was requested. |
takahser
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@RoyTimes thanks for the update. Happy to go ahead with it as well.
|
@semuelle In case you missed this. Please review. |
|
@semuelle @cruikshankss Hi, in case you missed the notification. Please review at your convenience. Thanks! |
|
Congratulations and welcome to the Web3 Foundation Grants Program! Please refer to our Milestone Delivery repository for instructions on how to submit milestones and invoices, our FAQ for frequently asked questions and the support section of our README for more ways to find answers to your questions. |
|
Hi @RoyTimes how is milestone 2 coming along? |
|
Hi @RoyTimes just a friendly reminder, I see you are still actively working on the project but just curious if you can give us any updates on M2 since it has been almost 6 months. Thanks! |
Hi. Sorry for the delayed response. Yes. We are very actively working not the project. The actual plan is indeed a bit different than the original plan tho. So for optimized user experience and security, we have made several major changes to make:
Therefore,
However,
I think it might be a good idea to connect offline on Matrix for a detailed discussion if you are up to it. My id is "@songzhou:matrix.org". |
|
Thanks for the update @RoyTimes sounds good! Feel free to file an amendment to extend the timeline if the delivery will be further delayed. That way you can also integrate your new plans/changes and update the scope accordingly. |
|
Hi @RoyTimes we can connect on Matrix if necessary but I think it might be a good idea to go ahead and submit an amendment to add the changes above as well as extend the timeline. Let me know if you have any questions regarding this, we just want to make sure it is still being worked on. |
|
@keeganquigley Sorry for the delay. We will compose an amendment, ideally, by end of next week. |
|
Thanks @RoyTimes do you still plan to submit this soon? |
|
Hi @RoyTimes pinging you once more. Please note that if we don't hear from you after 2 weeks, the committee will likely terminate the grant due to inactivity. Let us know if you have any questions. |
Sorry for the delayed response. Just submitted an amendment to remove Milestone2 and try to mark this grant application as completed. Happy to discuss our plans further in the amendment PR! |
Project Abstract
Choko Wallet is a user-friendly multi-chain crypto wallet for the Polkadot ecosystem. The Polkadot ecosystem has been known for its complicated nature to interact with. Therefore, we want to build a user-friendly and easy to integrate wallet for all projects in the Polkadot ecosystem.
For which grant level are you applying?
Application Checklist
project_name.md) and updated.@_______How Did You Hear About our grants program?