How does one restore a wallet from seed in zcashd?

What is the safe, supported way to restore (or create) a wallet from seed? I use only zcashd, not Zecwallet. To minimize the security-critical code to which my keymat is exposed, I will not install Zecwallet, or any other unnecessary software.

I prefer to use the BIP 39 seed, but could derive and input the BIP 32/ZIP 32 seed in hex if needed. I prefer not to need to create a text file with a not-quite-documented format, then import it with z_importwallet.

This is, of course, information of prime importance for disaster recovery planning. In my opinion, backup and restoration procedures should always be tested.

My immediate use case is a bit different: I am redoing some of my wallets together. I want to create a totally new wallet, Orchard-only, with the new system of accounts. I do not want to let zcashd pick a random seed for me.

A single seed phrase created with my secure seed-management software from a CSPRNG, carved into titanium plates, and stored in a bunker beneath a mountain should be used for multiple coins, without the need to waste trouble and titanium backing up more seeds. It is, after all, the purpose of Hierarchical Deterministic wallet systems.

Thanks in advance for the answers. I searched for documentation. I looked on Github for any relevant dev discussion that may point me in the right direction. I looked for Zcash-related manpages installed by the package on my system. If I embarrassingly missed anything obvious, sorry for the noise.

1 Like