January 31st
Hello fellow Zebras! Just like that the first month of 2025 has gone by. I’m rubber ducking myself to come up with ideas to make this update a bit less transactional. A few days ago I was going through my “followed” accounts on X and I saw “Documenting Zcash”. I sadly noticed that it was not active any more. Does anyone know that zebra? I’d love to meet with that person.
What other things would you like to see in these updates? Quotes from devs? Deep Dives? Insights from the different teams? Leave a comment with your suggestions.
Outreach (@pili @decentralistdan @pacu):
* Status: on track
We are back and nudging, pinging and chasing people to get their feedback. Also we got terrific news from the Zaino and Zallet team. In a matter of a few week we might be able to start working on what I introduced last update: Alpha integration builds of Z3 builds. “Z cube” is something that @zechub came up with on their videos: Zebra x Zaino x Zallet. What do you think of it? I like it, although it is hard to write that on a Keyboard. Maybe Z3?
We updated the public spreadsheet with the methods used by the surveyed entities. And we are continuing to pursue the remaining ones. If you’d like us to ping someone, let us know!
Zebra
Zaino integration continues to uncover features that need a bit of polishing and the Zebra team is responding to those issues. Fortunately only testing features are currently falling behind. There are differences between what developers accustomed to Zcashd expect from Regtest mode and what they actually get on Zebra.
What is regtest?
Well nobody has a definition, that’s the root of the problem. Regtest is a testing mode inherited from the Bitcoin node. It is a way to have a consensus node on a local network with a private state that a developer can drive at its will to reproduce certain situations deterministically and see how the code reacts to them. Regtest is like a “testnet” but without miners and peers. At least that is what it is currently on Zcashd.
Things work differently on Zebra. Not better or worse, just different. The existing issues were mostly caused not by different design concepts, just mere pending items that were not anticipated as important. Zebra regtest is implemented as a configurable testnet and regtest is one of those configurations. Zebra doesn’t connect to any peers while Zcashd actually connects to local networks.The catch is that there are a lot of tests that we could bring over from Zcashd to Zebra that we already know are super userful and that currently they wouldn’t work. So We will have to work this out.
We started a document on HackMD. I can’t Invite more than 3 editors because I’m on the free version :(. Suggestions of other similar tools (that arent google docs) are welcome. Zcash Regtest ZIP definition - HackMD
RPC Tests
Zebra engineers will start porting tests from Zcashd onto Zebra. This is a much needed work in order to have a baseline of both progress and functionality. This was not originally scope but Core Developers agree there’s substantial value in doing this.
Zaino (ZingoLabs)
- status: off-track
@zancas communicated a slippage on milestone completion dates on this post. We previously communicated and started to outline a plan to catch up as new developers join the Zaino efforts.
Zaino devs continue to work on Zaino and they are reporting being close to having a replacement for lightwalletd, in fact it mostly depends on these two PRs:
- Compact block cache pt3 by idky137 · Pull Request #170 · zingolabs/zaino · GitHub
- Allow connecting to Zebrad on any hostname by emersonian · Pull Request #115 · zingolabs/zaino · GitHub
The next big thing Zaino devs are working is consuming the “ReadStateService” from Zebra and serving it to its clients. This service provides data of the different chains that Zebra tracks. This will unblock a lot of work in Zallet.
In-Memory backend wrap up
- status: pending review
This has been falling through the cracks a bit, we still need to provide reviews to this PR https://github.com/zcash/librustzcash/pull/1634
“Zallet” (that’s pronounced Zallè, like ballet) formerly Zcash Wallet CLI
- Status: delayed
(but rapidly catching up)
ECC has notified a deviation of 2 months from the original schedule.
tracking work on this repository.
Yesterday the ECC team presented incredible progress on Zallè. The wallet can respond to most RPC methods (with errors in the majority of cases) which is a good progress towards creating these testing builds that I mentioned before. Also, there’s a discussion on how to deal with key material in this new full-node wallet. Please check it out here. Zallet team is looking forward to connect to Zaino as soon as Lightwallet functionality is available.
Wallet Export format
- Status: Ahead of schedule
As we shared last week the first ZeWiF meeting was held. They are putting together a final report on the wallet survey. We asked ourselves if https://github.com/zcash/zcash/issues/6873 could be closed with what we have here https://github.com/zingolabs/zcash-wallet-formats/blob/master/zcashd/README.md and the answer is YES! So we keep crossing out items of the Zcashd deprecation DAG.
Thank you for reading.
Enjoy your weekend!