Yeastplume - Progress update thread - Oct to Dec 19

Update Friday, Oct 11th 2019

Thought it was about time for a new one of these threads, seeing as how I’m now working under a new tranche of funds covering October to December.

It’s been a busy couple of weeks for me, anyhow, mostly with the large PR adding sending and listening functionality via TOR. I may have one or two more modifications to make, but I’ll hopefully have this merged into master over the next couple of days, along with a detailed post on how to use it. We’re hopeful that the usage of TOR can mitigate many of the problems we’ve seen with transaction exchange (particularly over HTTP,) and I’m looking forward to getting feedback on its use in the wild.

The other major topic has been the release and announcement of the (hopefully final) beta of 2.1.0. Other than a quick beta.4 of the wallet to address an unintended URL issue affecting exchanges, everything seems to be okay, and I believe we should be doing a final 2.1.0 release over the next week.

So all full steam ahead here and enjoying it. Thinking about planning for 3.0.0, on the wallet side anyhow I’m thinking we should include (and I’ll shortly be working on):

  • Continue to refine TOR functionality as described above
  • Better wallet state updates see conversation here
  • Interactive wallet713 style CLI mode

Including the upcoming discussion on release packaging, there’s plenty here to keep me occupied and out of trouble into the foreseeable future.

That’s all for now. Haven’t said this out loud for a while, but it bears remembering…‘You Grinnin’, you winnin!’

15 Likes

‘You Grinnin’, you winnin!’

3 Likes

Thanks yeast! ‘You Grinnin’, you winnin!’

1 Like

‘You Grinnin’, you winnin!’

Update Friday, October 25th, 2019

Busy couple of weeks in Grin development land, personally had my head buried in code in the most anti-social fashion, but came up for air a bit to formally launch 2.1.0, which appears to be going okay for the most part! (Upgrade if you haven’t already!)

There is a surprisingly short amount of development time before 3.0.0 is due to be defined, code-frozen, tested and released, which helps gives some focus to the old task-prioritisation. My thoughts on what need to go into it are in the relevant grin-pm issue, and we’re due to discuss and freeze scope at the next development meeting. TOR support is 95% of the way there (as talked about plenty last week,) and payment proofs are still under definition and I hope we can get the definition and changes required to the slate out of the way over the coming week.

I’ve been working on the other, less glamorous task of attempting to modify how the wallet updates itself, which is important because I think it’s now possible for us to move to the ‘next level’ of wallet update, and get the core wallet to a state where it should never be necessary to run check_repair or restore because it will be done automagically as part of normal wallet update operations. The details of how the current check_repair process (probably should start calling this a less-scary sounding UTXO scan) should be integrated into the existing wallet update are still up in the air, and I’ve largely been experimenting with the code to see what works and what doesn’t. I’ll be updating the PR and the relevant grin-wallet issue with details on how I think this should now work, but it will likely involve storing the chain head on last update, checking whether it’s the same as what the chain has and if not scanning back a particular threshold’s worth of UTXOs backwards to ensure no outputs have been missed. Dealing with locked outputs and when to consider them free for use again without having to manually cancel is another issue to consider as well, and am thinking about adding a TTL to the transaction that wallets should honour… anyhow, will get this down more precisely over the next week.

Bank holiday weekend here… too many yeastlings in too close quarters for too long. Will be the ruin of civilization.

5 Likes

Update Friday, November 8th, 2019

Another couple of weeks of flat-out development, punctuated by severalsessions of coding till it takes 10 tries to enter a single vim keystroke correctly. The release tasks for 3.0.0 are decided, with exact timeframes to be established during the next development meeting. But it’s already very well known that we need to have all development done ‘very soon’. I’d guess perhaps 4-6 weeks before we need to freeze
features.

This is a big release from a feature perspective, easily the largest we’ve done since launch. 2.0 was very conservative due to our teething problems with version compatibility issues, but the training wheels are off now. So a lot to get in over the next few weeks, and I might as well enumerate the tasks falling to me on that list and indicate where I am with them:

  • Tor RFC and Matching functionality, the functionality is pretty much there (and I’ve talked about it enough here), and the RFC needs a tiny bit more work to get over the line (which is just documenting what’s done), so looking good there.

  • Payment Proofs are still pending an RFC creation, but I’d imagine the work to implement it is more precise than large, so happy to leave for now and address bigger tasks first.

  • Transaction Update Rework A fairly large set of changes, and mostly what I’ve been spending my time on over the past couple of weeks. I spent a good amount of time playing with how to do this properly, which allowed me to produce the requisite RFC on the new update
    process. I’ve been working on

to get the functionality as described in place, and there’s likely to be a week or two more required to get it all in fully.

Then there’s the matter of testing before release, which, given the size and number of changes, is likely to be significant.

So, all things considered, definitely enough to keep me occupied and out of trouble for the next few months leading up to release (right across the middle of holiday interruption season). That’s it for me for now, I’m going back into my hole.

And nearly forgot… Grincon1 in Berlin… I highly recommend it.

7 Likes

Update Friday, November 15th 2019,

Very quick, perfunctory update this week. In among RFC reviews and discussion, and a few admin issues caused by a particular coinbase block finding its way to us, the main week of the work was:

So next bits of focus in the run-up to the 3.0 code freeze are:

Which should bring us most of the way towards completion of the wallet changes outlined for 3.0. This will naturally be followed up with quite a lot of testing, as well any other implementation details that may have been missed.

And then preparations for (and execution of) Grincon1 in the middle of all of this, of course. Should be a busy week next week, and look forward to meeting as many people as I can at the end of it!

Good weekend all!

8 Likes

Update Friday, December 6th 2019,

Just realised it’s been three weeks since my last confession. Sorry about that all, but I hope it’s been fairly evident what I’ve been up to.

Been a very intense past few weeks trying to get all of the promised bits of 3.0.0 bits of functionality into the wallet while squeezing in what I thought was very successful Grincon0. The last few large pieces were slate updates, payment proofs, TTL for wallet updates, but I won’t go into a huge amount of detail here, as all of the changes are outlined in an issue opened for the purpose.

I’m genuinely excited about the 3.0.0 release. There are a lot of changes and improvements that should benefit all upstream developers and end-users over the coming year. All of these additions are the culmination of the past year’s worth of ideas, (sometime painful) discussions, work and development from the entire team and wider community, and I think there’s plenty to be proud of in there.

But I might save a further round of gushing for a Yeasty Christmas message over the next couple of weeks. I need to go put up a release announcement now. Enjoy!

6 Likes

Update Monday, December 23rd 2019,

I have to say it’s been a challenging year, which is probably not to be unexpected given we launched a fairly high-profile cryptocurrency project.

Looking back over the year, I wouldn’t say we’ve had a smooth ride. The chain launch itself went well, but as the community is well aware, the launched version was far from a finished piece of software, with many unfinished parts, unresolved issues and plenty of work still to do in the way of usability. We (mostly I) made a mess that introduced too many version incompatibilities in the first couple of releases. We misplaced our founder. We scrambled to come up with an alternate project structure which we all acknowledge as an imperfect but also very incomplete work in progress. And all of this going on under the watchful eye of the larger community. It’s been challenging, and it can all definitely take its toll.

But in the face of all of this, I think Grin’s progress has been exemplary. I don’t think we could have asked for more or better progress than what’s contained within the upcoming v3.0.0 release, and while there’s obviously still a million more things to do, 3.0.0 is leaps and bounds beyond where we were a year ago in terms of stability and usability. Further, our focus on presenting the Grin code as a toolset for use by the developer community seems to be bearing some fruit, with many upstream wallet+chain projects available or underway.

So despite the number of challenges remaining, I think the future of Grin is looking extremely bright. It’s not necessarily my place to do so, but I’d like to heartily thank everyone who’s been involved in development for keeping cool at all times, continuing to be extremely proactive about all aspects of the project, and just generally being upstanding. This is genuinely the best team of people I’ve ever had the pleasure to work with, and hope to keep doing so for a while longer.

The community also remains the best and most supportive of any cryptocurrency out there, with many choosing to support us directly via donations. It’s no secret that our donation account has been looking very healthy recently, to the point where there’s no doubt whatsoever that the project will be able to continue as is for the foreseeable future and hopefully be able to expand in a sensible and judicious manner. Again, I’d like to thank the entire community for entrusting us with this, and also stress that we treat the running of Grin as a very serious responsibility.

But more important than the lump of code we’ve spewed into the world, this project, one year in, remains something to be proud of. I’d be very cynical about the motives of most crypto-currency projects out there, but Grin remains one of the few that is not selling you anything other than on the idea that it’s possible to build better and fairer money. It is an honest message, and you can choose to believe it or not. Nobody developing Grin will get rich if you do, nor will we stop working to create better money if you don’t.

And that is why I continue to believe in Grin and hope to continue to have to privilege to work on it for a while yet to come.

I wish you all the happiest and yeastiest of holiday seasons, and I look very forward to serving you all in 2020!

10 Likes