Jaspervdm - Progress update thread Nov to Jan 2021

Hello everyone, this is the update thread for my November - January 2021 funding period. I’ll be posting regular progress reports here.

With the final Hard Fork around the corner, the focus is fully on the outstanding issues in the planning issue. I will go point by point:

  • PIBD p2p messages (RFC): This feature consist of multiple outstanding PRs by both me and antioch that are all nearing completion. Since last time me and antioch both discovered edge cases in the segment code that have been subsequently fixed by me. We also discussed an improved serialization technique for the output bitmap that improves scaling, which I am currently implementing. Once that is done we would need some final review and it should be ready to be merged.
  • Late locking: The PR for this feature is up and being reviewed. Note that we will keep this feature marked as experimental in the upcoming release. Thanks to yeastplume for the initial work on this.
  • Fix fees: I helped tromp with some serialization details as well fixing doctests on his PR’s.

I think we are in good shape for the coming Hard Fork. We are expecting to release a first beta release relatively soon, as planned.

I will be back soon with another update!

8 Likes

Hello everyone, I’m here to provide all of you with another update.

Since the last post I have been working on finishing all the outstanding points for the final hard fork release. Last week was pretty hectic, but we managed to merge the planned PRs. We subsequently released a beta version of the next major release (v5) for both the node and wallet. I encourage everyone to test them out and report any issues on the appropriate github repo.

Here is an overview of the issues I have been involved in:

  • PIBD: The most fundamental PR was authored by me and merged first, after a long period of review and fixes. Both me and antioch wrote several follow up PRs that all went through review and were merged as well. The consequence of this is that all v5.0.0 nodes and up will be able to serve MMR segments. Due to the HF everyone will be forced to upgrade their node, meaning in the future we will be able to parallel sync from any full Grin node.

  • Late locking: after initial work by yeastplume, I took this one over and finalized it. While the feature is still experimental, it allows users to keep their UTXOs unlocked in their wallets until the finalization phase. This means that funds won’t have to be locked for prolonged periods of time when the counterparty does not immediately responds with a signed slate. There is a known limitation on fee changes due to a change in the number of inputs. This will be addressed in the future by adding a second kernel that compensates for the difference in fee.

  • Deprecate HTTP(s): I took over implementation of this RFC, which removes capability to send to HTTP wallets and changes the foreign API to only bind to localhost.

  • Reviews on other grin & grin-wallet PRs, such as the changes to the difficulty adjustment and the changes to the fee semantics.

I’m happy that we managed to push all this work through and release a beta version in the week it was planned. If all goes well the testnet will fork next week and we should have an RC of both binaries before the holidays.

Thanks for reading and see you soon with another update!

14 Likes

Hi everyone,

Posting a short update right before the holidays.
In the past few weeks we have been working to make sure that the v5.0.0 release is stable. Since the first beta releases, we have fixed multiple bugs on both the node and the wallet. Thanks to everyone for testing and reporting the bugs back to us!
Barring the discovery of any last-minute bugs, the current release candidate versions (v5.0.0-rc.2 on the node and v5.0.0-rc.1 on the wallet) will be retagged as v5.0.0 on January 5th.

I am looking forward to 2021, there’s some exciting development work ahead of us. But for now I wish you all a merry christmas (if you celebrate it) and a happy new year.

10 Likes

This post was flagged by the community and is temporarily hidden.