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!’


‘You Grinnin’, you winnin!’


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.


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

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.


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!


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!