July 20th, 2018 Weekly update (Engineering)

This week will have a more casual format for the update as most of the teams have opted into a one-time 3 week sprint which started last week. This is in order to reorient ourselves after a couple of distracting weeks with Zcon0 and folks taking time off around the 4th of July. So we’re kind of mid-sprint for this engineering update and there are no formal summaries of work accomplished.

A meta update to the teams structure:

  • We’ve combined the protocol and zcashd teams. Since most of the consensus level engineering is complete for Sapling (barring any required fixes coming from audit results), the most urgent work for Sapling is now wallet-level support.
  • We’ve added a new team focused on the reference mobile wallet project, an idea introduced in the recent roadmap proposal.
  • We’ve also added an enterprise team which will focus on work supporting projects like last year’s Quorum collaboration. There’s not likely to be many updates from this team as collaborative work with other companies is typically done under NDA until a product is announced.

Here are some in progress or review items for some of these teams. You can follow with progress in their respective projects.

Zcashd Team
This team focus on development of the zcashd client.

  • ZIP32 (ZIP PR 157) support aka Shielded Hierarchical Deterministic Wallets
  • Sapling proof generation API
  • Extending RPC support for Sapling keys
  • Sapling note support
  • New version of the Sapling spec is ready which now includes the completed proofs needed to support the Pedersen hash optimizations

Development Infrastructure Team
This team works on making sure developers have the tools and infrastructure they need to efficiently collaborate, design, implement, review, test, and ship high quality projects.

  • Investigating MacOS builder to resolve continued breakage
  • creating a Windows CI worker
  • Investigate current CI infrastructure to propose potential upgrades
  • fix CentOS 7 builder

Ecosystem Team
This team is the interface to everything not directly related to zcashd or the protocol and include support for third-party tools and services. Ecosystem projects developed by Zcash Co. also get handled in this team. Tracking for this team is kept private to prevent information leakage about third-parties.

  • Researching ways to stay in touch with third parties and give appropriate support
  • Ramping up for Sapling education and outreach to third-parties

Documentation Team
This team works on improving the accessibility of zcashd and Zcash overall.

  • investigate and formalize ReadTheDocs translation process
  • test GitLab as repository host (test repo: https://gitlab.com/mdr0id/test-rtd-docs)
  • migration of documentation on the website to RTD (for example the UX checklist & network upgrade guide for developers)
  • brainstorming around a feature-based wallet selection guide

Community & Communication
You can check out last week’s community and communication update on July 13th for the latest info.


Is there a repo for the mobile wallet? What language/platform?

We’ll have more updates on the reference mobile wallet (keyword: reference) next engineering update. No sign of an open repo or GH project, yet.

1 Like

There will not be a public-facing repo for the mobile wallet until the code is production ready. eAdoption of non production level code is a serious concern to us. We plan to develop the mobile reference wallet for Android, using as much rust as possible.

I just would like to clarify that we are not building an official zcash wallet product with support. We’re building a reference implementation that we hope the community can use to create lots of zcash applications that use sapling shielded addresses.

The project has two phases, 1) proof of concept 2) reference mobile wallet. When we are done with the proof of concept, we will demo the it and invite a select number of people to test it for us. When we are finished building the reference wallet, we will then release the code to the public for open access. For more information between the two, see the images below:

I hope that helps!