This update was written and provided by Litecoin MimbleWimble lead developer David Burkett.
–——-
Coding & Testing
We’ve made the following significant improvements to the code over this past month:
-
Unified the build process to support existing release strategies. We
originally intended on sharing the libmw codebase with Grin++, so the new code used a different
technology (cmake) for managing builds than the existing litecoin code.
That plan turned
out to be unworkable due to significant differences in the Grin and MWEB protocols, so there was
no longer a reason to continue using 2 different build management solutions.
We’ve stopped
using cmake entirely now, and just include the libmw code as part of the existing (automake)
build. We’ve also downgraded from C++ 17 to C++ 14 to support gitian builds, which is how we
generate verifiable releases. -
Removed superfluous interfaces and boilerplate code. This also stemmed from
the fact that we no longer need to share logic with Grin++.
We had a rigid interface layer
that prevented us from calling the existing litecoin code from within the new libmw library,
which resulted in the need to duplicate serialization, logging, and other infrastructure code
within libmw.
Since litecoin is now the only consumer of libmw, we were able to eliminate
this artificial separation, resulting in less code (and hopefully fewer bugs) overall. -
Working automated builds for multiple platforms. The automated builds are
working again for linux, and now also a windows build is being generated with each code
commit.
This has allowed for quicker feedback from changes, and opened the door for
non-developers to help out with testing without needing to build the code themselves.
Reviews & Audits****
We’re still struggling to get developers to review the libmw code. The code has changed quite a bit
since the PR was first submitted though, so I will likely be closing it and creating a number of
new, smaller, and hopefully more digestible PRs over the coming weeks.
I met with Quarkslab yesterday to discuss what we need audited, and I will continue to work with
them over the next week or two while they gather what they need to do their initial assessment &
estimate for the audit.
–——-
We remain on track for activation around the end of the year, barring no major surprises from the
auditors