Hi, I’m the author and sole maintainer of Ironbelly. I’d like to start a discussion about the future of the app.
Currently, I lack the resources to:
Regularly update the libraries, especially when vulnerabilities are found. This is a tedious process involving updates across multiple layers: grin-wallet, custom Rust code, light Swift and Java code and React Native (TypeScript). After updates, I need to ensure everything still works.
Respond to users’ emails, particularly when they have issues with sending or receiving money. Most problems aren’t directly related to Ironbelly (e.g., no TOR connection, incorrect Gate.io memo format, etc.).
I see three possible paths forward:
Maintain the status quo. I’m not in favor of this as it leads to increasing neglect of the project, which isn’t ideal for a crypto wallet.
Remove Ironbelly from the stores, effectively discontinuing it.
Integrate Ironbelly into Mimblewimble org, transferring its maintenance to the core developers.
First of all, thx for you work, IronBelly was the only wallet working on Android at all devices I tried. From my half-year experience of developing an app on top of grin-wallet lib the only problem I had is tx cancelling, when you can cancel tx that actually was sent, so wallet rescan was needed to restore right outputs, there is no so much updates here, but seems like contracts flow by @oryhp is about to fix this problem.
We have known problem with unconfirmed txs, but I guess it’s on Dandelion protocol/node level. I am using grin-wallet lib on regular basis and sometimes is catching this, but it’s hard to reproduce to know what exactly is going on, thx to @vegycslol for pointing a Dandelion, users had same problem with Beam, it also uses Dandelion protocol, so can be a case.
I think you can just keep repo open, so everybody can come and contribute/continue development, the only problem is your node URL hardcoded in the app, so if you want to shutdown it you can put https://grinnode.live/ inside or any DNSSeeds URL if they have API open, maybe even at array to have a fallback.
Would funding give you the resources to regularly update the libraries or are you preoccupied and moving on from it in any case?
I think that @Yeastplume would probably decline to take this on. And I’m sure David considers Grin++ already overloaded. So unfortunately I doubt we have anyone else who can take it on.
I really like Ironbelly and wish it can continue. But I agree if it cannot be maintained it is better to pull it.
In any case I think all wallet devs should feel less responsible for helping users and refer them here to the forum for community help instead.
Hmm… Imagine you created product and not helping users in it. They should feel at least more responsible for fixing bugs. Grin++ is nice example. grin-wallet is another case, must have priority.
If there is a suspicion of a bug yes, the dev should be interested. But 99% of these requests are not bugs, they are memo problems or incomplete transactions that the community can help with. The dev does not need to be burdened with telling users how to restore their wallet from seed to undo their incomplete transaction when the forum can do that. The forum will flag the dev if we think there’s something actually interesting going on.
I don’t think @Yeastplume goes around taking general help requests with grin-wallet.
The Grin++ funding was heavily strained by David’s sense of obligation to run a support channel, and then further strain was added when funding requests were made by other people assisting with that support channel. I think the load could have easily been shared with a lot more volunteers if support was conducted primarily on the forum instead.
@i1skn I would propose a modified version of 1).
First of all, it would be very sensible to create a Funding Request every 1-2 years or so to at least work for some time to implement updates of packages, and perhaps add functionality to match the changes in grin-wallet and grin node.
The most important part is to keep the wallet up to date and secure, but also think of adding/tweaking functionality.
A “Resend” button (resend slate over tor)
Adding automatic or manual rebroadcast if dandelion fails (this caused quite a few support request lately)
Visually adapting the wallet to fit better with the contract flow when Grin GUI is released. For example using single or double check marks for the status of a transaction.
Perhaps other functionality the community requests
Regarding support. I think you need to offload more on the community members in the IronBelly channel, or create a FAQ pages to reduce the time you spend on support. This could be also be done independently of you, and you simply refer people to the FAQ page. E.g. see this proposal:
I do not believe that adding IronBelly to the core repo is in any way a solution since there are no developers there with time to maintain it, unless you join the team. I think for both IronBelly as well as Grin++ it makes sense to a) make Funding Requests on a yearly or bi-yearly basis in order to update the software and b) to move to less time consuming methods for support.
@i1skn, would funding change the situation for you? I wonder if having a budget would allow a support team to be put together to answer emails as well as a developer team (even if only part-time) to continue to maintain the code and add features. I think that Grin on mobile is absolutely essential so deserves funding. At the same time I do believe that any funding should be done in an accountable and transparent manner. At this stage, I think that it would be a mistake to sit on Grin funds if there is opportunity for growth
Sir, please focus on the code. Community is glad to help new users with the wallet, just refer them to this forum. Oh, and many thanks for your time and dedication! We really appreciate that : )
100%, this is what Ignotus bequeathed to us, we see he predicted Grin’s future very clearly. Focus on code, collaboration and healthy atmosphere can bring Grin success for the decades to come, not just for tomorrow. To be used by anyone, anywhere. Let’s grow (up) together by being humble and exceedingly nice =)
Nothing would happen. Ironbelly would still work and you can use the mnemonic any time to migrate. Ironbelly is just a GUI, in the backend it runs grin wallet and node. So you can migrate at any time to grin-wallet or Grin++ for mobile or desktop using the mnemonic.