Several Questions on ZecWallet

Hi there,

Been exploring ZecWallet’ capabilities in linux and I’ve hit a wall where I can’t find answers in the docs. The docs https://docs.zecwallet.co/using-zecwallet/ have old screenshots and instructions that don’t seem to apply in the latest version of ZecWallet.

So I’m hoping ya’ll can help me answer some here:

(1) Compared to using the "z_exportwallet " rpc command to generate the seed, is there a nicer way to generate the seed somehow by using the ZecWallet GUI?

(2) How can I use the viewing key to see shielded transactions?

(3) How do I backup my addressbook and all my transactions? Is there a way to import a CSV into the addressbook?

(4) How many confirmations are necessary for a transaction to be trusted as successfully received? I see that minimum 1 confirmation is required to be able to transact, but as good practice how many confirmations should I wait for?

(5) How can I create a Pay URL? (Is there a website that can generate this for me?)

(6) How I set transaction fees using the nice ZecWallet GUI? I don’t see an option for it, i’m guessing CLI is the only way to do this?

(7) How can I make and receive a payment request in ZecWallet?

(8) I’m not seeing an OPTIONS menu. So how do I change the settings so that my Change is sent to my shielded sapling address instead of to a t-Addr?

(9) How can I modify the settings to select whether to remember or not remember shielded transactions?

(10) Can someone explain me how does change work in t-Addr ? Does ZecWallet automatically generate a new t-Addr for each change received, and does it add it to the wallet and count that in my total transparent ZEC? Or is there something I gotta do manually?

(11) In a shielded Memo reply-to address when sending ZEC to others, is this referring to my* address, so when I pay someone they can know who it came from or how to send money to me?
( just want to clarify to be sure)

(12) How do I go about using an AirGapped Computer to sign a ZCash Transaction, take that transaction to a computer with internet and execute the transaction, without ever exposing the private key to the internet? (just like in bitcoin https://bitcoin.org/en/secure-your-wallet#offline )

e.g. Does Zec’s Paper wallet app have a way to do this? Maybe through command line?

(13) Lastly, in ZecWallet Lite for Android, how can I securely delete my wallet? Also, where in my phone is the wallet stored?

(14) Do you think there will ever be an incentive to reward full-nodes for staying powered-on to validate transactions? What would propel the number of full-nodes securing z-cash to increase if it is just wasting electricity?

Thanks!

3 Likes

I’ll CC @adityapk00 the ZecWallet developer to this thread for most of these questions. But I can answer a few:

In Zcash T-addresses perform exactly as in Bitcoin, change is sent to a new address within the wallet. Z-addresses are different, the change from a Z-address transaction is returned to the sending address.

Yes, when you add a “reply to address” in the memo it gives the recipient your Z-address so they know what address sent it (and can reply to it). It’s there because if you don’t include it, or a memo at all, there is no way for the recipient to know what address the funds came from. Z-addresses never appear on the Blockchain.

There currently isn’t anything like staking in Zcash to incentivize full nodes. This may change in the future if Zcash were to go to a proof of stake system, but that is a long way off if it would ever happen.

As far as “wasting electricity” I have a full Node running on a small SBC (Pine64) that draws less than 10watts, so no big deal :slightly_smiling_face:

Thanks for the detailed questions! I’ll answer them as best as I can.

Note that there are 2 flavours of Zecwallet for desktop. Zecwallet Fullnode, which is just a UI wrapper around zcashd and Zecwallet Lite, which is a full fledged light client that manages its own wallet.

The Fullnode does not support seed phrases. So unfortunately there is no way to generate them. You have to backup the full wallet or the individual private keys.

The lite client, of course, has a seed phrase that can be backed up and recovered from.

You can export and import the viewing keys into a different node or even the lite client to view transactions belonging to those. Just go to the “Receive” page, and click export Viewing key, and you can get the viewing key for any address.

The address book is stored in plain text in your Zcash folder (~/.zcash on Linux) and can be directly backed up and restored.

This is a long standing issue in zcashd. It’s been recommended to wait for 10 confirmations, but this is not strictly enforced in zcashd today.

This is not yet supported, but the format is well documented in ZIP 313, and could be available in a future version.

Zecwallet doesn’t allow setting custom fees, since it is considered bad security. You’ll have to use the CLI for this.

Making payments that you received is just paying the URI. You can scan the QR code (or paste the payment URI) in the send field to pay it.

This is already the default behaviour in the lite client. For the full node, you’ll have to manually send it for now.

It isn’t possible to “forget” a transaction right now, since it is stored and retrieved based on your address’s private key. You’ll have to remove a private key to forget the transactions belonging to it, but note that it is only your wallet that will “forget” them. They will forever be on the blockchain.

This isn’t possible right now. Signing offline isn’t easy in Zcash, since there are several “online” parameters that are needed - Anchors and the BranchID, for instance. We’ll need a much deeper dive into this to support offline signing of txns.

The wallet is stored in the Android’s app directory. So, deleting the App from your phone deletes it from your phone. Be careful - This is irreversible, and the wallet can’t be “undeleted”

3 Likes