Yeastplume - Progress update thread - Mar 19 to Sep 19

Update Friday, Sept 13th, 2019

All very straightforward this week, mostly getting through whatever issues remain for the upcoming 2.1.0 release.

  • Firstly, the lifecycle API functions and all the work needed to support that is now officially done! Very happy to have these in place as it should now be relatively easy for anyone to come along and create a Grin wallet, and not have to worry about writing special code to create and instantiate wallets, etc. This is the major feature of 2.1.0, so again I encourage all Grin wallet developers everywhere to start playing with it now (the older v2 API isn’t going away in this release, but the lifecycle functions aren’t available in it).

  • Next, a lot of testing and work to fix inconsistencies with the wallet API secrets, the source of a few unnecessary bug and potential (mild) security hazards

  • And moving along to looking at work started by @jaspervdm on transaction confirmation via kernel lookup](https://github.com/mimblewimble/grin-wallet/pull/216) (as opposed to outputs), which should be a more robust approach overall to confirming transactions as well as fix a nasty issue where a transaction won’t confirm on the receiver end if there are no change outputs (doh).

Also been thinking a little bit about a helper library (discussed in the wallet dev channel) that includes both the node and wallet libraries, spins up both and exposes the APIs directly into Node.js as an NPM package. Not sure if this is getting a little deep into ‘community’ territory and whether it’s something we want to maintain long term, but on the plus side it would be good to have at least a sample starter project that anyone versed in js/css can just pick up and run with. If you have opinions on this, happy to hear about them in the wallet dev channel.

With a large chunk of work out of the way, I’m now thinking about the next issues I’d like to pay attention to, in no particular order:

  • The one true method of transaction exchange, much discussion has been going on around this, which I’d like to catch up on and weigh in on very soon.
  • Implementing a proper interactive CLI mode to the default wallet (in addition to the existing ‘one invocation per operation’) method it currently uses. (All of the work for the lifecycle functions needed to happen before this)
  • Chain scanning as part of normal operation (trying to eliminate the need for grin-wallet check)
  • Multiple wallets per installation
  • The node helper library, as described above
  • Long-outstanding bugs/issues within the current list (some of them may not be issues, but need investigating)

And 2.1.0 release work, 3.0.0 release planning etc all as a matter of course on top of this.

But weekend vodka first. Enjoy yourselves, kids!

10 Likes