TL;DR
My name is Ivan Sorokin (https://i1skn.dev/). I’m a Software Engineer and the author of Ironbelly – an open-source mobile wallet for Grin (https://ironbelly.app/). In order to dedicate more energy to improving the project, I’d like to request funding for a period of 4 months (September to December 2020) at €4k/month.
Preface
I first got involved with Grin in spring 2018, when I began learning Rust in order to contribute to Grin’s codebase. I quickly found that Grin lacked a mobile wallet, and this made me want to build one for both myself and the community. I decided to build on top of the original Grin codebase, because I could reuse already implemented crypto-related logic.
Around the same time, I also started speaking about Grin at multiple events (https://i1skn.dev/talks/) and co-organizing Grin meetups in Berlin. This led me to co-establish Berlin’s first ever Grin conference – Grincon0 – which was completely free and open for everyone. I presented Ironbelly (the name I eventually gave to my project) at this conference in Nov 2018, and it was the first mobile wallet for Grin that stored private keys on a device.
Now, Ironbelly is available on both iOS and Android with 3.6k+ installs. It’s been a long journey for me so far, but I would like to keep it going. This is where I’m asking for your help.
(If you’re interested, you can learn more about Ironbelly by watching my talk at Grincon1 https://www.youtube.com/watch?v=OCnIVctRLgk.)
Why am I asking for funding?
Initially, my motivation to build Ironbelly was fueled by my passion for Grin and the belief that users needed a mobile wallet. But soon after I released the first beta version of the app on iOS, the work became more routine and I struggled to keep up the same pace of development. Nevertheless, I still wanted to add some more features as well as release an Android version of the app, so I began to look for solutions.
One approach I explored was to get funding for the project. This is how I ended up receiving a 3-month grant from Binance to continue working on Ironbelly. Looking back, I think it worked out great. I managed to take the iOS version out of beta and release an Android version, with extended features such as TouchID/FaceID authentication, interactive initial sync, and the ability to use your own node. After the grant from Binance ended, I continued to keep Ironbelly up-to-date so that users remained always able to transact without delays even after hard forks.
As the sole maintainer of Ironbelly, I spend a lot of time on issues that aren’t necessarily fun to do all the time–debugging Rust libraries so that they work properly on iOS and Android, looking for workarounds to replicate desktop functionality on mobile, catching bugs in React Native libraries for specific Android/iOS versions, etc… The latest hard fork also introduced, among other things, a new standard for sending and receiving Grins via Tor and Slatepack. Bringing these new changes to Ironbelly will require significant research and development effort from my side. I’d like to make this happen, but right now I struggle to dedicate the necessary time and energy to the project. Getting funding would help me to solve this problem and bring development pace up-to-speed.
How am I planning to spend these funds?
Here are the improvements that I would like to work on throughout the funding period:
-
Allow sending and receiving funds over Tor and Slatepack.
-
Allow sending and receiving funds using QR codes when possible.
-
Increase security of the app by minimizing places where sensitive data is exposed to the JavaScript runtime.
-
Add ability to choose Grin node configuration before starting use of the wallet.
-
Make it possible to show cancelled transactions and remove already confirmed ones from the list.
-
Make it possible to paste 24 words during the restore phase instead of being able to only type them manually.
-
Choose words from a list instead of typing them manually, when verifying that a user has written a backup phrase correctly.
-
Implement change password functionality.
-
Add support for dark theme.
This list is open to change depending on community feedback.