Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enumerate the data / state that needs to be migrated from wallet.dat to a future full node wallet #6873

Open
str4d opened this issue Apr 24, 2024 · 4 comments
Assignees
Labels
A-wallet-database Area: Wallet database and serialization S-in-progress Status: Work is currently in progress on this item.

Comments

@str4d
Copy link
Contributor

str4d commented Apr 24, 2024

Currently zcashd supports exporting wallet keys in a "key dump", but this leaves behind both a bunch of state about how those keys relate to each other, as well as various kinds of state that are only persisted locally and are not recoverable from the chain.

We should go through the zcashd wallet code and wallet.dat file format, and enumerate all the kinds of data that we need to either migrate out of zcashd, or provide an alternative migration pathway for.

@str4d str4d added the A-wallet-database Area: Wallet database and serialization label Apr 24, 2024
@daira daira added this to the Zcashd wallet replacement milestone May 4, 2024
@pacu pacu moved this to Ready in Zcashd Deprecation Sep 3, 2024
@pacu pacu moved this to Ready To be Worked in Zcashd built-in wallet replacement Sep 5, 2024
@nuttycom nuttycom added the S-in-progress Status: Work is currently in progress on this item. label Sep 30, 2024
@ChristopherA
Copy link

ChristopherA commented Nov 21, 2024

We (Blockchain Commons) have been talking with @zancas about a wallet interchange data format for cross-wallet portability and interop.

We are focused on L0, and have had success in the Bitcoin ecosystem with 14+ wallets supporting one or more of our interop standards (including Ledger now supporting our secret-sharing standard SSKR).

One of our candidates for export into this format, is of course, Zcashd. However, given its origins in older version of bitcoin, I presume that it is not seed based like other Zcash wallets, but master-key based? And also pre-descriptor? Is there a list anywhere of account-based improvements since the fork from bitcoin? Who is intimately aware of its limitations?

If you are interested in supporting this effort, we will be scheduling a meeting second week of December, and have a private Signal channel now—contact @zancas or me for invite.

— Christopher Allen

@zancas
Copy link
Contributor

zancas commented Nov 21, 2024

I think it's best for the wider community if this enumeration is part of a one-time survey of the extant wallet formats.

@ChristopherA
Copy link

We are expect to make a proposal to ZF grants committee for an extensive survey of wallet formats, as well as proposal for a elidable binary exchange format and a rust library for serialization / deserialization.

@dorianvp
Copy link

I've collected some wallet.dat files in this repository: https://github.com/dorianvp/zcash-wallet-formats. This is part of the ongoing work we're doing with @ChristopherA for the survey mentioned earlier. If you have any old or unused wallet.dat files that could contribute, feel free to submit a pull request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-wallet-database Area: Wallet database and serialization S-in-progress Status: Work is currently in progress on this item.
Projects
None yet
Development

No branches or pull requests

6 participants