Request for funding @davidtavarez May-August 2023

TL;DR

This is a request for a 4 month period from May through August 2023 at which time it should properly release work from Q1 of the current year. The new source code should be merged and ready for production, this also includes the ability to send and receive transactions through Nostr, and it should improved the P2P communication.

What the Community should expect?

So far, transactions are working just fine across Nostr, node and wallet running on different architectures without any problems, using the new APIs, and so on and so forth and so on, but the code is right now insecure and not ready for production yet. I don’t want to rush this in any way. I have changed my approach to achieve high portability. That’s the good news.

The bad news is that I have not been able to properly transfer all of this to the Github Actions to automate the build and release process including what is needed to release a separate binary that can be used portably.

The Nostr code isn’t safe to use yet and it requires more testing. I need to take a deep look on how to manage the keys. I’ve taken an approach to make it work with paid relays, since public relays are not reliable, at least not today. I still need to make the UX works well for both cases.

For the APIs I am preparing the Pull Request to respect the Grin++ code framework/pattern, make sure it is backwards and I will try it to add the RSR flow.

Some people have reported to me via Telegram an unusual behavior that sometimes occurs when searching for new peers to connect to. Sometimes the node does not recover from the loss of peers without restarting. After some more digging and testing, I’ve realized a few things I need to improve.

Rate: EUR 7.500,00/month.

What it will happen after this?

For a while, I will not release any version after this one unless it is not a hot fix. I will focus on implementing the PIDB code in Grin++. I am also working to make maintaining Grin++ less burdensome for me. Most likely I will end up migrating both UIs (Desktop and Mobile) to C# to make things easier to maintain. Mobile source code can be compile for iOS right now, yes, that is true, but I haven’t found the time to work on an iPhone version, IronBelly works very well anyways. The point is that I want anyone who is willing to contribute to the project to be able to do so, hence the decision to use different programming languages.

Eventually Grin++ will become a hobby for me again.

I admire Grin++ for the great work you do, and I respect you for that from the bottom of my heart. But let’s consider this: Can we continue to use the community’s already tight development funds indefinitely? How much development money has been spent on Grin++ since it was first developed?
I haven’t counted specifically, but that amount should be more than enough, and with that much money it should be possible to fund more development projects than just one, and the community development money should not continue to fund Grin++.
We should be spending our limited funds on core development, not on third-party wallets. I mean, the Ironbelly wallet is a great experience, but did the developers get any development money, and the EasyWallet is a great experience, but did the developers get any money?
If you want to continue to get funding, my advice is to seek third party funding. A better approach would be to get a better job, or if there is still geekiness, it would be nice to use business time to maintain it.
Of course, this is just my little opinion, so please forgive me if I’ve offended you in any way!

3 Likes

This issue prevents to use Grin++ on Android, we can not connect to to our own node and integrated node is crashing at last step. I think it should be high priority to fix: Grin++ crashing when validating state on setup · Issue #18 · GrinPlusPlus/GrinPlusPlusMobile · GitHub

1 Like

Acknowledged :point_up_2:

Words well received. Thank you.

I’ll take the opportunity to clarify something very important: what/who is funded is me, in particular, not Grin++ there is a big difference here. I could contribute either to Grin++ or to grin-rust, but I have chosen to contribute to Grin++ since there are already good people contributing to the Rust implementation, in one hand, and in the other hand, I feel I have more freedom contributing to Grin++.

An address for Grin++ has been around for many years before I started contributing, see for yourself:

image

If donations are received at that address, they will not go to any particular person. In fact, I do not have access to that wallet. If there were people interested in donating to Grin++ or contributing independently, I would definitely not choose this process. I don’t like it at all, actually I hate it.

I see it this way: I am committed to push as much as I can in as little time as possible while funded, while holding myself accountable to the Community. This allows the community itself to negotiate with me to prioritize one feature or another. This allows a balance to be found between what I would like to be doing and what is expected as a Community. In my opinion: a win-win situation.

True, I agree. Now… which project is not funded? which developer does not receive funding? I’ll tell you: those developers who explicitly decided to go through another path. And I get it, this process sucks.

Notice that who starts the process is the one who wants to be funded, not the CC or OC, although the CC on several occasions has invited different people to participate in the process. The CC acts only as key holders.

There are many reasons not to go through the process, one example is this very conversation. I don’t enjoy this, I would love to code without this. And I would like to do what I love without having to worry about how I’m going to pay my bills, because, of course, I’m also a normal person who also has a life outside of Grin, with dreams and goals, etc., like everyone else… amazing, isn’t it?

I assume you are referring to the Rust implementation… but did you know that core has its own budget that is three times larger than CC just for “core development”? “core development” has its own budget separated from the CCs.

Have you ever seen this graph?

On average, 60% of the network during the last month was made up of Grin++ nodes, I am surprised tbh… but do you understand the importance of an equitable distribution of nodes implementations? I would love to see the CC spend more in funding third party nodes so that more different implementations join the network, but we need to see more people willing to participate in this process.

The current usage of Grin++ is around 70% of the entire network. I would say that supporting my work has been a success, as it was 40-50% before, which means, at least, that it seems that the Community has responded positively to my contributions to Grin++. And I want to continue to provide as much value as I can. And at the same time, I feel very grateful for the support so far.

Have they opened a request for this? If not, why not?

If I could, I would.

Not offended at all. It is a good opportunity to clarify many things and I appreciate your honesty. Thank you for the reply. And again: Eventually, sooner or later, Grin++ will become a hobby for me again, but not yet.

1 Like

Interesting how this chart is building, seems like @hendi not included Health and Stats parts at this Github repo GitHub - mimblewimble/grin-explorer: Blockchain explorer for grin

I expected it to be much higher since Grin++ runs on Windows and has a GUI in comparison to the Rust-Wallet that only operates on Linux and does not have any GUI.
I remember when I wanted to receive my first Grin I needed to install Linux onto a Virtual Machine to do so.
Things improved a lot since then.

This request for funding will add a significant new functionality to the most widely used wallet in the Grin ecosystem.
David has stood behind his work, including providing technical assistance, for years and there is no reason to believe that he wouldn’t deliver.
This is a vote in support for his funding request for this period.

See this post here:

I think Nostr implementation will be funded at some point, but first we need to explain its relevance to the community and vote on which features they want implemented (first).

1 Like