Request for funding @davidtavarez (Grin++ mobile wallet)

I think this would be a very positive project to fund. :+1:

My understanding is this proposal is for a “full” mobile node with the Grin++ node running entirely on the mobile device.
Is there “prior art” and other projects we can point to that have done this successfully for other cryptocurrencies?

Would it potentially make more sense to do this in a “trusted node” model? With the mobile UI interacting with a configurable server based node.

4 Likes

I will try my best to make the codebase as flexible as possible. I’m considering to create a nuget package for the Grin++ API but anyone could do the same for grin-wallet; in the timespan of 3 months I won’t be able to write an adapter for grin-wallet, but I’m more than happy to support other community members.

Yes; that’s one of the goals although there are some challenges here. I would like to see more progress on “light nodes” but in the meantime I’m a bit optimistic since nowadays cellphones and tablets are really powerful overall. I will keep the community posted.

Totally! another option is to use NFC, at the beginning it will only be available between 2 Grin++ mobile wallets. To be able to send/receive coins just with proximity makes me really excited, maybe we will be able to pay for a pizza with our mobile wallets very soon… I don’t know, I don’t mind opening a PR for IronBelly with this feature later on 2021 when the feature becomes more stable.

In general, the option of running a mobile wallet using a remote backend will be there, but I won’t encourage users to do it, at least not for now. Also, in the current version of Grin++ Desktop the user must enter their password in order to authorize Sending grins, for the mobile version it will be the same control (probably replacing it with TouchID when it’s possible).

10 Likes

After being funded I was able to bring Grin++ to Android 9+ and the Raspberry Pi. The full node runs on a Linux ARM64 bit and Android, also aarch64.

I also built an Android mobile app and a nuget package for the Grin++ API. The APK (beta version) was already submitted to the Google Play and it’s under review right now.

What next?

I will keep contributing to the Grin community. After collecting feedback from users a non-beta version of the apk will be released, this apk will be a 100% compatible with the next hardfork. Most of my contributions are focused on Grin++ but I’m planning to migrate some cool features to IronBelly too, so no grin user will be left out.

I still have a bunch of stuff to do, specially, to write a bunch of documentation. For 2021 my main goal is to create an unique experience between the Desktop UI and the Mobile application and add more cool features. This will keep me busy for several months, I’m sure. Improving the base code, writing more tests and decoupling it as much as I can is on my radar too, this will help anyone to easily reuse both UIs.

What about iOS? Well, iOS not only requires a huge amount of effort, but even if I could get a binary running for iOs, it is very unlikely that they will accept it on the App Store and playing a cat-mouse game with Apple is not on my plans. Users could either use IronBelly or wait for a solution.

Final thoughts

Backing up and restoring wallets using a plaintext seed makes me nervous. I wish I could have more time to write a RFC with some new ideas, I think we can take advantage of what this RFC brings to Grin to create a more secure method to improve this.

The Slatepack Message flow is a huge improvement, I personally think the Exchanges should forget about Tor and implement only the new flow. If we could prioritize Eliminating the third step we could be more closed to achieve a (cuasi) cash feeling like while sending/receiving transactions; this will help developers simplify the user’s life. Right now, we could say that transitioning over Tor works fine, but users from countries with high levels of censorship usually face issues trying to receive coins, this is a headache for everyone, most of the support is related on this, but more important we’re not fulfilling the “To be used by anyone, anywhere.” statement. I remain optimistic, I’m pretty sure we’re going to figure it out.

I must confess, this is becoming a huge time consuming for me. After reaching a certain point with the mobile application and the Desktop UI, I would like to build more projects, a payment gateway is bouncing in my head right now, but it will depend on what other community developers will build at that moment.

Looking forward to see what 2021 will bring to Grin :v: :grin:

22 Likes

We appreciate you, thank you very much

1 Like

Really great work !
We definitely should prioritize Eliminating the third step in 2021.

8 Likes

Awesome work @davidtavarez! Looking forward contributing to Grin with you in 2021 :dizzy:

7 Likes