The light client reference wallet has been built! Sapling shielded transactions now work on mobile devices and we are ready for third-party devs to start providing feedback on the code. What previously required gigabytes of data on a server is now accomplished with megabytes of data and computation suitable for a phone.
To get started, we recommend looking at our Android SDK, which interacts with the server (lightwalletd) and light client (librustzcash). These resources provide an overview of how all the parts work together— for instance, see what the light client requests from the server, how the received inputs are processed, and how those outputs are used to create transactions.
This is the fourth installment in our series about the progress and development of the Zcash reference wallet; we invite you to look back at previous articles about our goals and what we’re building, user experience, interface and styling and the underlying protocol.
Where to Find the Code
Like other Zcash code, it’s open sourced and always will be.
- Zcash Android SDK: A lightweight SDK that connects Android and Zcash;
- Librustzcash: A zcashd for light clients;
- Lightwalletd: A stateless server that transforms blocks for the light client;
- Zcash Android reference wallet: An app and resource that incorporate the components.
Our Vision for the Reference Wallet
We call this wallet a “reference” because it is intended for learning and demonstrative purposes. It is a guide for the ecosystem rather than a competitor within it. At a recent Zcash meetup in San Francisco, a developer was delighted to learn that we actually wanted him to use the reference wallet as a blueprint.
The Electric Coin Company is committing to supporting the light client code. We want the Android SDK to be useful for mobile developers. Currently, the reference wallet is only available on Android and compatible with testnet. Some near future plans include improving the documentation and code tests as indicated by the Android SDK disclaimers.
If you have questions, head over to the reference wallet chat channel to talk with the reference wallet team. We encourage and appreciate feedback in the form of PRs, comments, and new issues on any of the code repositories above. Also, we suggest keeping an eye on the ZIPs repository for proposals which improve the reference wallet or light client code. Like everything we do, community collaboration is critical to the success of this project.
We look forward to continuing to work with the Zcash ecosystem to bring financial freedom to everyone. We believe that the adoption of shielded addresses by services like wallets and exchanges will accelerate us toward that goal. This milestone for the reference wallet is just the beginning—stay tuned for updates by following this blog and our Twitter account.