New Release - Zenith RPC server

Posted on November 23, 2024

We have released Zenith 0.7.0.0-beta, the next deliverable of our project to create a full-node wallet for the Zebra Zcash node. This release includes a lot of functionality we are very excited to offer to the Zcash community:

Zenith RPC Server

This server gives users the capability to interact with the Zenith wallet programmatically. The RPC methods implemented are documented in our Zenith OpenRPC spec. Below is a quick demo of the server in action:

New Privacy Levels

Managing the shielded and transparent notes in your wallet can be complicated, so we have implemented a new feature: privacy levels.

Based on the selected privacy level and the recipient address provided, Zenith will select the correct notes needed for the transaction. Zenith also alerts the user if the selected privacy level is not compatible with the address provided. For more details on the internal workings of each privacy level, please refer to the documentation.

ZIP-320 Support

Zenith now supports TEX addresses and we have added features to our apps that assist users in moving funds in and out of the shielded pool:

Address Book in GUI

The address book functionality has been extended to the GUI to assist our users in managing addresses they use often.

Internal Improvements

The core Zenith code has been upgraded to use Zcash-Haskell 0.7.5.0, which allows us to implement both the Sapling and Orchard commitment trees in Haskell. This significantly improved the speed of decoding shielded notes and simplifies the witness management for the app.

We also optimized the transaction creation process, which now takes roughly half the time it used to take to generate a signed transaction.

The instability of testnet during the NU6 activation presented a great opportunity to implement and test chain re-organization detection and wallet rewinds.