June 7, 2019 Weekly Update (Engineering)

This is our fortnightly engineering update which happens after the conclusion of each 2-week engineering sprint. You can check out last week’s update for recent news on community and communications.

Arborist Team
This team focuses on development of the zcashd client, lightwalletd, librustzcash and protocol upgrades. Follow along with team discussions in the Community Chat #community-arborist channel.

The primary focus of this sprint was reviewing librustzcash PRs. As part of that the team reviewed and suggested changes to a third party crypto library. The team was also able to address a couple of technical debt items, and made some progress reviewing the PRs related to the insight explorer.

Development Infrastructure Team
The Development Infrastructure team ensures developers have the tools and infrastructure they need. Join this team in the #dev-infrastructure chat channel.

We wrote documentation for upgrading to Debian 9 and wrapped up the final steps on supporting Debian 9 for testing, building and packaging the next release (2.0.6). We’re taking a step back to work on cleaning up various infrastructure components due to last week’s website split and onboarding into the team.

Documentation Team
This team drives the curation and assists in the creation of documentation. Follow along in the #documentation chat channel. Check out the official Zcash documentation.

We reviewed and merged instructions on updating from Debian 8 to 9 in prep for 2.0.6 only supporting 9. We reviewed in progress merge requests for insight explorer documentation and the zcashd release process and plan to push those changes this upcoming sprint. We’re investigating some informal feedback mechanisms for the documentation from users and developers.

Ecosystem Team
This team is intended to work on projects that interface with external parties not including the zcashd core client and handles business development in the phases after initial contact by providing technical insight and support.

We’re getting closer to having insight explorer changes merged into zcashd. This sprint was spent reviewing and resolving any remaining issues with the insight PRs and finalizing documentation. We also updated the hackworks version of zcashd to version 2.0.4 due to 2.0.3 end of support halt.

Reference Wallet Team
This teams current charter is to build a Zcash reference wallet. Follow along with team discussions in the Community Chat #community-wallet-team channel

We are finishing up a test app for zcon1, and discussing how to consistently version the reference wallet components and have a release schedule. We found the source of the reorg bug and are working on fixing it, along with changing the lightwalletd to interact more with zcashd.

Product Team
This team leads product decisions and feature prioritization.

This week during our regular Deep Dive meeting, we discussed NU3 Feature selection alternatives and settled on one approach. We still need to ensure the protocol engineering and strategy teams can commit to the same plan. We realized it would be better if we had more market research about some of the proposals coming in from outside of the company. For example FlyClient and BOLT support several different product goals, and we want to determine exactly which of those overlap with ECC product goals. We agreed to do more product research on both technologies before the NU4 cycle begins.

A big topic in the discussion was our desire to collaborate more directly with developers outside ECC on protocol changes. We definitely want to do this, although we haven’t determined how those collaborations should be prioritized against our current product priorities, so we don’t want to promise anything yet that we can’t deliver.

It would be ideal for the next ZIP Feature Selection (NU4) if we had already determined how the upgrade features would fit into our product priorities. This would make the commitment even more firm and remove uncertainty about the mid-term goals.

We also spent time discussing how to improve transparency to ECC and the public community. We decided each update should show the current top goals, and the same summary should be sent to both ECC and the public. We also want to be able to directly share our up-to-date product goals, yet still need to figure out how because the current format can’t be easily shared publicly.

Current top goals:
1. Retarget Debian Stable
2. Bandaid lightwalletd reorg fixes for Zcon1
3. Librustzcash on iOS Linda
4. T↔ Z addr interoperability on light clients
5. Replace 0mq with rpc calls in lightwalletd (fixes reorgs)
6. Partner specific integration work (C++ wrapper and decreasing size of library)
7. Test and verify reference wallet on mainnet Linda 2019-09-01 Not started
8. Shorter Blocktimes
9. NU3 ZIP Feature Selection
10. Limit the Mempool Size


Check out yesterday’s ECC livestream update


aha! Thanks for explaining the function of the different teams. I did not realize a light-weight client wallet was in the works.

What is a PR?

-All the best,

PR=pull request (aka, a request to pull in changes to a code repository)
Here is the list of zcashd PRs: Pull requests · zcash/zcash · GitHub

1 Like