I am formally hired by MWC community as one of the fulltime developers from 1st Nov. 2020. First of all,
thanks for all of your donations and support in this open community!
I will update the progress here from time to time, normally monthly or weekly but not strict. This thread is for the remaining time of 2020, there will be another thread for next quarter.
1st week
Not much in the 1st week, the main works are these:
Start a little on the code framework, main coding is committed into https://github.com/mwcproject/mwc-node/pull/24. These initial code can help to figure out the picture of the detailed workloads on each related module. I’m not trying to make the code works at this moment, just trying to touch everything related.
Backward Compatibility draft and discussion on here (I will move it into the Forum once @privateidentity set up forum for mwc comunity). After I think over it again during the code framework stage, I should be able to turn it into a document of doc folder.
Some PRs in
rust-secp256k1-zkp repo. Especially a very nice performance improvement in PR3 (pick from Grin repo), I like this improvement.
Next week should be still focus on the main code framework for both NIT and SA features.
(Note: moved from personal gist for previous week’s report)
A little progress on the new transaction structure and a rfc-style document for this NIT+SA feature:
3 more commits into https://github.com/mwcproject/mwc-node/pull/24. mainly on the new transaction structure. it’s a little bit complex because we want to keep both transaction schemes, so the current transaction data structure has to be kept.
trying to figure out whether taking the new structures for block, or use enum for that, which is simple in data structure but complex in code readable. i will try it a little in both to see how it feels in next week.
A major refactoring on the Inputs signature validation design, I was putting this validation in Output validation logic which is together the bulletproof validation and TxKernel signature validation. But after jumping out to overview the whole validation logic, I find it’s much better to put Input logic stick to the Input validation, which always use the chain state to check whether an Input is spending an UTXO, we just need to add here an additional validation for signature.
Next week I plan to trying the build on these new scratched code, so as to continue importing more coding into more related module.
only 1 commits in this week, for part of building error fixes.
some PRs in secp256k1-zkp repo and the related PRs in rust-secp256k1-zkp repo. Mainly for an easy-life optimization on ser/deser of keys, and enable the Travis-CI tests for secp256k1-zkp repo, including some fixes to pass the tests.