I also want to thanks the Zcashers that reported issues and helped me reporting them with screenshots and reproducing steps.
an issue regarding zebra: It takes a transaction on the old branch id and returns a txid.
Therefore the user of an old release thinks their transaction is successful.
imo, it is an important issue that should be fixed urgently.
Update from exodus wallet
This software update that includes this fix for the Zcash issue will become available at different times for the different Exodus versions (Mobile (iOS and Android) and Desktop). We cannot guarantee when the software version will become available, but it will likely become available in the next week or two.
This newest version (24.49.5) has already become available for some users of Exodus Mobile on Android devices, and so for them, Zcash transactions should work as expected.
Thank you for reporting! We are aware of this issue already and are working on a fix. Iâll update with the PR once it is up.
How did you discover this issue?
Iâm asking because weâre seeing V5 txs with the nConsensusBranchId
field set to the consensus branch ID for NU5, but they are using the consensus branch ID for NU6 in their SIGHASH, which seems strange.
Some people were using an old version of ywallet after NU6. Since their tx got an id, they thought it went through.
Also, I think it goes beyond just the consensus branch id. You can submit a double spend and get a txid. Thatâs not the case with zcashd. Getting a txid pretty much means a good tx.
Thanks for reporting this, weâre aware of the issue and a fix is coming soon.
Just to make it clear to everyone reading this, Zebra does not allow double spends. But when sending a transaction through Zebra, it may return a transaction ID (indicating the sending was successful) when submission actually fails internally. This causes some wallets to behave strangely, but any double spend attempt is effectively blocked by Zebra.
December 6th
Hello fellow Zebras! Another week, another update on Zcashd deprecation!
NU6 work is still around. This is the updated chart from last week
Status of wallet NU6 support
Wallet | Ready on NU6 | Same day or 1 day | Nov 27th | December 5th |
---|---|---|---|---|
Edge | ![]() |
|||
Exodus | ![]() |
![]() |
![]() |
|
eZcash | ![]() |
|||
NightHawk | ![]() |
![]() |
||
Ledger Transparent Zcash | ![]() |
![]() |
||
Ledger Shielded Zcash | ![]() |
![]() |
||
Unstoppable | ![]() |
![]() |
||
Trezor | ![]() |
![]() |
||
Trust | ![]() |
![]() |
![]() |
|
Ywallet | ![]() |
![]() |
||
Zingo | ![]() |
![]() |
||
Zashi | ![]() |
A note on Ledger Live issues
Yesterday, developers from Zondax, Zingo, ECC, members of ZCG and myself got together for a code walkthrough of the Shielded Zcash Ledger application code and its integration beyond the Zecwallet fork that Zondax is maintaining. Half of the meeting was dedicated to discuss the ongoing NU6 problem that the transparent Zcash app authored by Ledger for their Ledger live application and how we could contribute to help them solve the issue.
@ainhoa-zondax and Emmanuel from Zondax confirmed that the Shielded Zcash application does not have the problems that the one developed by Ledger has. Thereâs a tutorial on how to unlock funds from a Ledger device. Warning: Itâs not easy and requires that users spend a considerable amount of time building the Zecwallet Application.
Note: I have built the application myself but only succeeded when using x86-64 based processors, that is AMD or Intel. If you have another kind of processor architecture it will probably fail to build.
Outreach (@pili @decentralistdan @pacu):
- Status: on track
NU6 upgrade still takes a bit of the outreach time. Pili is looking to get in touch with people from Poloniex. If you have a contact to provide please contact us.
Zebra
- Status: on track
No substantial changes from last week. The Zebra team has been working on RPC method development and also on NU6 derived fixes.
Important bug fixes on RPC return values and also important refactoring in critical RPCs such as getblock
which is used by all known clients.
Zaino (ZingoLabs)
- status: on track
Project Board
Zaino devs discovered a bug on the testing tooling of Zebra that they rely on for integration testing. This is a major blocker for development since they canât fully test what they code. ZF and Zaino devs are getting together to fix this problem and continue improving developer experience.
In-Memory backend wrap up
- status: on track
Willem from Chainsafe started work on this upstream collaboration and Kris Nuttycombe from ECC has provided feedback on his review Add serde derives to primitive types behind feature flag by willemolding ¡ Pull Request #1627 ¡ zcash/librustzcash ¡ GitHub
I started reviewing this Pull Request and found some improvement opportunities in terms of documentations and API ergonomics. After ECC folks are done with some pressing matters regarding Keystone integration theyâll start reviewing this too (around next week)
Zcashd Wallet CLI
- Status: on track
This is scheduled to be completed by the end of January! This timeline is TIGHT!
tracking work on this repository.
ECC core engineers are working on Keystone integration items and looking for developers that can contribute to the RPC support of the cli wallet that will be hosted on github.com/zcash/zcash. Please get in touch with me or @pili if you are interested in contributing. This is the spreadsheet with the RPC methods that the zcash-cli would tentatively need
Wallet Export format
- Status: Proposal ready, work started
Kudos to Dorian from ZingoLabs for starting a software archaeology work on Zcashd wallet.dat formats along the years. See https://github.com/zcash/zcash/issues/6873
This is super important to write parsers that can read an old wallet.dat file and put it to good use in a newer wallet.
Also, Christopher from Blockchain Commons drafted a proposal for âZeWiFâ with help of Zingo folks and myself. ZCG has brainstormed on it and they are waiting on further feedback from wallet specialists at ECC. We will coordinate a specific meeting with the involved parties to discuss feedback on the proposal and define steps forward.
Have a Fun Friday and a relaxing and repairing weekend.
Zaino devs discovered a bug on the testing tooling of Zebra that they rely on for integration testing. This is a major blocker for development since they canât fully test what they code. ZF and Zaino devs are getting together to fix this problem and continue improving developer experience.
We have asked the Zaino team to open a GitHub issue on this so we can have all the details in order to prioritise and investigate accordingly.
Thanks for updating the community @pili .
Iâll let @idky137 speak to details on this issue, but from my perspective this is a really wonderful problem to have.
Yes, the Zaino team has invested some time in analyzing surprising behavior⌠butâŚ
the Zaino team has invested time in analyzing surprising behavior
This is mid December 2024, and the Zaino project is already reaching one of its primary objectives⌠that is:
Providing the community with tooling that makes testing wider system behavior (e.g. zebra) ergonomic for a gaggle of Rust developers.
Imagine if the community was trying to analyze bugs in zebra through a Go binary lightwalletd
, because that was the only option. I am totally unsurprised to discover that complex software systems interacting in complex ways behave in unpredicted ways.
The Zingoistas were skeptical that the community had a systematic understanding of the real behaviors that would emerge during the zcashd
deprecation, which is why we started, on our own initiative, to contribute to regtest-mode-in-zebra last February.
@Marek and @arya2 and @pili have been responsive and efficient, and have already started fixing the first issue we noticed. In fact theyâve already fixed the first bug that we noticed, which shows that the diverse community is collaborating effectively, and synergistically.
In short, Iâm thrilled. This is Zaino working with the wider community to make the deprecation happen.
Thanks @pili for adding more context to that
Also good reminder for everyone who finds bugs or problems within Zcash software. Always go through official channels.
For developers, Go to the GitHub and file the corresponding issue in the projects repository. If you think the issue you are reporting could be a security concern follow the procedure in the responsible disclosure section of the repository
December 13th
Hello fellow Zebras! Another week, another update on Zcashd deprecation!
NU6 work is over! There are some outstanding issues with wallets. This is the update from last week.
Exodus and Trust wallet have a fix that will go live in their next release cycle, while Ledger is still working on a solution to their Transparent Zcash Application with the help of Zondaxâs team. Ledger engineers report having detected and assessed the cause of failure and itâs not related to NU6 changes but impacted by it given they had specific values statically coded into their app that in reality they need to change based on the anchor heights of the inputs.
While that gets sorted out this is their official workaround using the Zondax Shielded Zcash application.
Outreach (@pili @decentralistdan @pacu):
* Status: on track
With NU6 standing items being cleared out of the way we are back to our deprecation outreach efforts. We will be reaching out partners with a new and more concise wording and updated messaging based on the feedback we have already received and excellent contributions from @alchemydc who is collaborating with ZF. DC is a long-time Zcasher and hacktivist with an incredible talent on Decentralized and Distributed IT Infrastructure. We are thrilled to have him around! Thanks DC!
Zebra
As you might have heard from the last arborist call, it has been a bug squashing week for Zebra developers.
Zaino (ZingoLabs)
- status: on track
Zaino devs continue to work on their findings on Zebra Regtest issues. Also they are currently working on finding out indices that will be needed on Zaino. If you run Zcash infrastructure as a backend for your project Reply to that github issue NOW
Last Light Client Working Group meeting (number 90!) Zingo engineers and the rest of the bunch discussed strategies and timelines for Zaino to replace Lightwalletd and we hope we can do that early in 2025.
In-Memory backend wrap up
- status: on track
We need to provide reviews to this PR Add serde derives to primitive types behind feature flag by willemolding ¡ Pull Request #1627 ¡ zcash/librustzcash ¡ GitHub
I got to the half of it and plan to continue to do so next week. Itâs a very long PR. Take your time and review thoroughly.
On a related matter I got In touch with @DanForbes from ChainSafe and they keep working on the Metamask Snap. We will meet that team soon to talk about how PCZT, WebZ.js and the metamask snap could work together.
Zcashd Wallet CLI
- Status: on track
This is scheduled to be completed by the end of January! This timeline is TIGHT!
tracking work on this repository.
ECC core engineers continue to look for developers that can contribute to the RPC support of the cli wallet that will be hosted on github.com/zcash/zcash. Please get in touch with me or @pili if you are interested in contributing. This is the spreadsheet with the RPC methods that the zcash-cli would tentatively need
Also, ECC has open-sourced their zec-sqlite-cli tool
Wallet Export format
- Status: Proposal ready, work started
Blockchain Commons and Zingo are working on a proposal for âZeWiFâ. I organized a meeting with ECC Core Engineers and them to evaluate the work proposal. ECC devs will provide the requested feedback to ZCG for them to use as input in their grant evaluation.
This is a developing story (I always wanted to say that)
UPDATE
GRANT PRESENTED! Grant Proposal: Zcash Extensible Wallet Interchange Format (ZeWiF)
Zcash extensible wallet interchange format is a proposal that will solve a missing link for wallet interoperability, the ability to import and export wallet information and use it in different wallets
Another task will be developing tools to rescue old wallet.dat files and moving them into this new format, a super important requirement to deprecate Zcashd
Have a Fun Friday and a relaxing and repairing weekend.
December 20th
Hello fellow Zebras! Another week, another update on Zcashd deprecation!
Before I continue with the usual update, I wanted to tell a short story.
December 20th is not any date for argentinians. While December 18th 2022 was one of the happiest days of this century (World Cup!) December 19th and 20th of 2001 are written with blood of the people in the pages of the dark history of my beloved country. Chapter 10 of the Movie âMemory of the Lootingâ from Pino Solanas (2004) depicts the terrible episodes of a formerly democratic government that helped the Banks (Citibank, BoA, HSBC, etc.) steal Peopleâs savings and whoâs president flee in a helicopter while killing hundreds of people with the Stateâs âSecurity forcesâ when people rose against this theft.
This is probably why crypto is so important for me and my people. We know what itâs like to be backstabbed by your smiling bank executives that were supposed to âtake good careâ of your savings.
More than ever, Justice for the Fallen. Not your Keys, Not your coins. Sovereign custody is the only way to a free world. Onwards.
As we said last week NU6 work is over! There are some outstanding issues with wallets. You can follow updates about that on this other thread that @shawn has put together. Thank you!
Outreach (@pili @decentralistdan @pacu):
* Status: on track
We finished crafting a follow-up message that conveys a more sense of urgency and also has better actionable items by accompanying a form that people we contact can forward to their engineering teams easily and clearly. We went through the outreach contact list and sent this new message to the tier 1 and tier 2 contacts that hadnât responded yet. We donât expect much activity because of the holidays but that wonât stop us from pinging, nudging and reaching out.
Zebra
@pili has published a thorough sprint update. Zebra team has been working on and I quote: âRPCs, RPCs, RPCsâ. This is either implementing new, enhancing existing ones, reviewing and assessing deltas between Zcashd RPCs and Zebra ones.
Go Zebra!
Zaino (ZingoLabs)
- status: on track
Zaino devs continue to work on their findings on Zebra Regtest issues. Theyâve reported having fixed the outstanding issue that was blocking them and now continue to rock it as usual! They also are carrying on testing infrastructure development that is further enhancing their bug squashing capabilities which will soon be available for every team when Zaino is productive.
Note: Zaino devs are still working on finding out indices that will be needed on Zaino. If you run Zcash infrastructure as a backend for your project Reply to that github issue NOW!!!!!1
In-Memory backend wrap up
- status: on track
This has been falling through the cracks a bit, we still need to provide reviews to this PR Add serde derives to primitive types behind feature flag by willemolding ¡ Pull Request #1627 ¡ zcash/librustzcash ¡ GitHub
Fortunately @nuttycom is going to take this one for a spin and take the needed actions for this upstream contribution to be included in librustzcash so we can cross out those Zcashd Deprecation DAG boxes soon!.
Last week I told you about a meeting between Chainsafe, ECC and myself to talk about how PCZT, WebZ.js and the metamask snap could work together. We met on Wednesday. Kris and Str4d showed Eric and Dan the PCZT feature and how it works on Keystone. They believe it can significantly lessen the amount of effort needed for handling transaction signature on the Zcash Metamask Snap development and also avoid custom code from Chainsafe that would need extra care from them. Eric and Dan will look into it with the rest of the team. They were very enthusiastic about it!.
Zcashd Wallet CLI â> Now âZalletâ (thatâs pronounced Zallè, like ballet)
- Status: on track
This is scheduled to be completed by the end of January! This timeline is TIGHT!
tracking work on this repository.
Last week ECC Engineers announced that they had open-sourced their zec-sqlite-cli tool. Now itâs called zcash-devtool. This newly published work from ECC is very useful to test wallet code, transaction formats, identify hashes, encodings and a lot more that will be added to it soon. ECC engineers are in conversations with QEDIT to include their transaction tools for ZSA development into this tool. That would be cool!
Kris will also be factoring out script handling as a way to keep enhancing and decoupling the transaction part of the protocol in the librustzcash codebase. This is super important so we have a clear separation of concerns and locality of the code. That does a lot to improve our developer experience. Having a tidy home is always more welcoming to newcomers and a more pleasant stay for everyone. Before all of the tools were somewhere âin the garageâ while now, our garage has labeled compartments and containers that say what they are for and you know where to find things and also where to put new tools as well! It might seem dumb, but itâs a lot of time that we save by knowing where to look for some code or where to put NEW code!.
Wallet Export format
- Status: Grant proposal expecting feedback from community
Blockchain Commons and Zingo are working on a proposal for âZeWiFâ. There is a grant proposal for this work on this forum thread. Work has already started. Dorian from @ZingoLabs is currently working on a survey of the existing wallet formats current and past and has made ENORMOUS progress already. KUDOS Dorian!
Also heâs making a PR to update ZIP-400! Which will be evaluated by ZIP editors soon. ZingoLabs has stepped up to Core Development, expanding their operations and bringing in new developers and that has to be celebrated! If you see a Zingoista online, say congrats!
The following weeks will be slow, many are taking some time off to be with their loved ones. Some of us will still be around quietly doing things here and there.
Have a Fun Friday and happy holidays to you all.
December 27th
Hello fellow Zebras! Another week, another update on Zcashd deprecation!
Outreach (@pili @decentralistdan @pacu):
* Status: on track
Holiday season brings us a slow week in all companies that we are reaching out.
Zebra
ZF engineering team is out this week
Zaino (ZingoLabs)
- status: on track
Zaino devs are working a lot! A Christmas coding spirit. The new infrastructure is progressing and not without its bumps and hiccups of putting up a new system and making its gears turn. To folks not familiarized with software engineering, this is normal friction. The ecosystem will iron out these wrinkles. Zaino is exercising Zebra Regtest and there are findings that the team has documented
Zebrad Regtest findings:
- https://github.com/zingolabs/zaino/issues/144
- https://github.com/zingolabs/zaino/issues/145
- https://github.com/zingolabs/zaino/issues/146
I invite you all with a curious mind to play with Zaino and Regtest, help us find gaps in documentation and request features youâd like to have in our testing infrastructure.
PRs for review:
- https://github.com/zingolabs/zaino/pull/139
- https://github.com/zingolabs/zaino/pull/140
- https://github.com/zingolabs/zaino/pull/142
In-Memory backend wrap up
- status: on track
This has been falling through the cracks a bit, we still need to provide reviews to this PR Add serde derives to primitive types behind feature flag by willemolding ¡ Pull Request #1627 ¡ zcash/librustzcash ¡ GitHub
@nuttycom and myself are reviewing this PR.
âZalletâ (thatâs pronounced Zallè, like ballet) formerly Zcashd Wallet CLI
- Status: on track
This is scheduled to be completed by the end of January! This timeline is TIGHT!
tracking work on this repository.
Itâs Kris-mas! And our champion @nuttycom is working on issues present on the DAG like this one implementing gap limit and other functionality for transparent Zcash support on librustzcash.
Wallet Export format
- Status: Grant Approved!!
Zcash Community Grants committee approved this grant proposal as announced on this post. Work on ZeWiF has already started. Dorian from Zingolabs has been carrying out the format survey and updated the ZIP-400 for ZIP editors to review when they resume their editorial meetings. Also, ZingoLabs is meeting users with stuck funds in âlegacyâ wallets to learn more about requirements that may have to be added to the format.
Blockchain Commonsâ team will start working on grant items next year - that is a few days from now you impatient zeeps!
I donât want to end the last update of this year without thanking all the community for the trust and confidence that youâve honored me with.
Zcash is All Time High on collaboration and that is noticeable. We keep building the Zcash we want to see in the world. And for that to continue growing, we need to be competitive in terms of development tools we provide to those with a builderâs soul and privacy at heart. We are taking the necessary steps towards a more decentralized developer friendly ecosystem that can produce the applications that Zcashers around the globe urgently need.
Summer vacations are starting in the southern hemisphere of our planet. Letâs make this recess full of Zcash summer projects!
Happy New Year!
January 3rd
Hello fellow Zebras! Happy New Year! Itâs not January 7th so we can still say it!
Outreach (@pili @decentralistdan @pacu):
* Status: on track
@pacu has resumed the pinging, nudging, and messaging.
Zebra
ZF engineering team was out this week
Zaino (ZingoLabs)
- status: on track
Zaino devs are fighting some wild animals here and there. If youâd like to chime in, I leave the links to the github issues below. Reproducing the issues and documenting your experience is useful to them.
Zebrad Regtest findings:
- https://github.com/zingolabs/zaino/issues/144
- https://github.com/zingolabs/zaino/issues/145
- https://github.com/zingolabs/zaino/issues/146
Also, letâs take a moment to play with Zaino and Regtest just âfor the LuLzâ. Help us find gaps in documentation and request features youâd like to have in out testing infrastructure.
PRs needing review:
In-Memory backend wrap up
- status: on track
This has been falling through the cracks a bit, we still need to provide reviews to this PR Add serde derives to primitive types behind feature flag by willemolding ¡ Pull Request #1627 ¡ zcash/librustzcash ¡ GitHub
@nuttycom and myself are reviewing this PR.
âZalletâ (thatâs pronounced Zallè, like ballet) formerly Zcash Wallet CLI
- Status: on track
This is scheduled to be completed by the end of January! This timeline is TIGHT!
tracking work on this repository.
@nuttycom and @str4d are teaming up in some serious housekeeping work overhauling transparent Zcash APIs. I know there are a lot of people that are not specifically fans of T, but development-wise it is important to have everything where it belongs in its own places. Although Transparent Zcash was always around, sometimes it felt it was all over the place but still with not much cohesion with the rest of the poolsâ APIs. Many people approach ZEC through the transparent side of things, so these APIs mimicking how shielded ones are structured is a very positive thing. Also the code looks and feels much more tidy and easy to approach. Kudos!
Wallet Export format
- Status: On track,
Zcash Community Grants committee approved this grant proposal as announced on this post. Blockchain Commons will came back from their holiday break today January 3rd.
This grant is part of this very important branch of âthe DAGâ. Dorian from Zingo Labs is already conducting a wallet.dat survey.
@BC-Shannon is organizing a call around mid January. More details here.
Work is already starting. If you want to provide input to the ZeWIF folks. Donât hesitate! Act now!
A Zcash Summer.
Summer vacations are starting in the southern hemisphere of our planet. Letâs make this recess full of Zcash summer projects!
Enjoy your weekend!
A quick update on this one as Iâm just catching up after being out over the holidays.
An issue was created (thank you @idky137 !) and it turned out to not be an issue with Zebra, but with an issue with the test framework used by Zingo Labs.
Please do keep filing issues in Zebra if you find any strange behaviour as we work towards Zcashd deprecation!
Zaino devs (and recently myself) are currently working on some issues as the last two updates mention we havenât pin pointed the source of the problem given that dev stack has many moving parts. If we happen to identify any Zebra issue whatsoever (with PoC or reproducing steps) we certainly will create the issue and report it. thanks!
If anyone from the Zebra team has some spare cycles to chime in to these issues it will be much appreciated.
ps: some context for non-devs so they donât freak out, the problem Zaino devs are facing belongs to development environment, which is causing some slowdown in overall progress because they can have rapid and fluid testing feedback from the suite and have to resort to other slower/more manual approaches.
My understanding is that @Marek has recently released at least two significant upgrades to zebrad regtest mode that weâre excited to test! @idky137 is monitoring closely, weâll keep the community informed.
Meanwhile the zaino
team has made great progress on different parts of the project while coordinating with new zebrad
features.
We will likely have a related announcement within the next two weeks!