Disappointed with wallet experiences lately

I spun up zuul.free2z.cash:9067 and it’s working fine with ywallet on my bigger wallet. I’m sending and receiving funds again! :tada: No guarantees; but, at the moment mainnet.lightwalletd.com:9067 is not working and zuul.free2z.cash:9067 is. So, at least it’s maybe another option.

» grpcurl zuul.free2z.cash:9067 cash.z.wallet.sdk.rpc.CompactTxStreamer/GetLatestBlock
{
  "height": "1729952",
  "hash": "WFgBgq283EsMQy/buNcNZrtVh3bCdJLLZBc+AQAAAAA="
}
» grpcurl mainnet.lightwalletd.com:9067 cash.z.wallet.sdk.rpc.CompactTxStreamer/GetLatestBlock
{
  "height": "1528863",
  "hash": "Q7cH6ldCpwt75l7rL8N5CwZ5dijNNbCYT/pzAQAAAAA="
}

I’m not sure if I will also experience this with my lightwalletd; but, so far no: Server resets its latest block from time to time · Issue #400 · zcash/lightwalletd · GitHub

3 Likes

(Mine works for 9067 shrug)

Three cheers for YWallet, @hanh and @skyl! I just synced a wallet I have been using since December 2020 over a spotty airport-style WiFi and with Ywallet + zuul.free2z.cash server it took a Pixel 4a (a 2020 phone) just under 19 minutes (I got distracted and did not note the exact time :slight_smile:).

It was a very pleasant experience and I can only offer the following three as improvement suggestions:

  • Ywallet could add an option to enter wallet birthday height rather than a date (both Nighthawk and ZecWallet provide those so that’s most likely what users have saved). Also maybe a small note saying that default start date is Zcash Sapling activation date (otherwise it seems a bit arbitrary);
  • my rescan was initially interrupted by me closing the app; after I reopened the rescan it started from the very beginning. If the engineering complexity is not too high, maybe it can start rescan from previous stopping point? (Also one could click “rescan” text but actually had to go in the menu to activate it. Maybe make it not clickable or launch the rescan on click?)
  • during the rescan the Messages/Notes/History tabs are empty even though the balance is shown. Maybe there could be a note there saying that these will be available after rescan is finished.

I love the UX and am especially pleased to see the multi-send feature: it is always hard to onboard people at the dinner because you need to do manual zUTXO management beforehand, lest you send one person some ZEC and then need to wait minutes until your change zUTXO confirms.

9 Likes

Great feedback, this is now my main wallet and really enjoying the experience.

Loving the cold wallet feature too, here’s the explainer video for that:

Thanks @hanh for the videos you’re making, I’m uncovering new ways to work with Ywallet!

6 Likes

@hanh just hopped on the bandwagon and downloaded YWallet. It’s pretty nice. I like that little tilt/accelerometer thing you do to toggle the visibility for the balance.

Not a diss on YCash, but I always thought it was a YCash only wallet, which is why I never used it until now. I think this will be my new default.

7 Likes

Our short-term focus for the SDKs is full NU5 support (UAs, Orchard). We are prioritizing a faster syncing option as well as general SDK hardening (improved error handling, etc) next in the roadmap.

7 Likes

Internally, YWallet uses height but I think it’s harder to remember than an approximate date. This still could be added in the future though.

That’s a bug. It should be clickable. The block height on the account page is clickable and initiates a sync/catch-up. It is triggered by a timer too.

You could also create a bunch of small notes beforehand with the “Max amount per note” feature.
But indeed, multi-pay is designed for your type of scenario.

1 Like

Hi everyone,

Wanted to add to this thread a new issue with ZEC UX. For the past 4 days I have been trying to access my ZEC on my Ledger wallet but am unable to send or swap, giving me the following error:

afbeelding

Now I know that I ought to reach out to Ledger support, someone else already did and was told that it was being worked on, however I wanted to explicitly post this here as well. I’m not concerned as I am confident that it will be accessible at some point in time AND simultaneously I am losing confidence if this is to drive real world adoption at scale.

Just imagine the countless first time users that have no clue about what to expect only to find that their funds are unaccessible due to some unexplainable reason. Unacceptable.

In the past 4 days there where multiple occasions where I wanted to use my ZEC to make purchases and or swap. Not being able to do so feels like a huge let down and results in me losing the freedom to seize opportunities.

Hopefully my concerns are registered by those responsible for driving mass adoption. Despite this being a Ledger issue it is ultimately ZEC that is unaccessible.

Cheers :beers:

3 Likes

@brocktakeshi, I can confirm Ledger ZEC spends are working at least as of yesterday. Is there an update to the Zcash app under Ledger manager?

But I agree with the sentiment. It seems ecosystem partners need a lot more hand-holding during network upgrades. For instance, SideShift.ai has had all ZEC trades disabled since NU5. Are they being worked with to get up and running again?

4 Likes

All the wallets are broken. Even ywallet doesnt sync now for me, lightwalletd is broken… Is anyone from ECC or ZF doing anything about it? Cough… cough… dev fund… Are there any devs??? Hello?

3 Likes

Yes.

We (ECC core team) have spent the past three weeks (including over most of the holiday weekend last week) working almost exclusively on the performance problems. Here are all the places you can see what we’ve been doing:

15 Likes

Appreciate you doing the work. Has the ECC considered hiring more people? Seems like if the project wants to grow, eventually the team will as well.

3 Likes

Thats good for you mate!
For me however this is still not the case.
afbeelding

1 Like

I think I saw a message from @joshs somewhere recently mentioning that for him to get it working he had to ensure he had the latest firmware and then uninstall and reinstall both the Bitcoin and Zcash apps on the Ledger. Might be worth a try…

1 Like

Thank you for the suggestion, I tried it and unfortunately still get the same error :frowning:

Question about mobile wallets: https://github.com/zcash/zcash/pull/6069 should improve sync performance on full nodes. @hanh I wonder if a similar improvement could be implemented in Warp sync? @adityapk00 Blaze sync probably doesn’t need this as this does scanning in the reverse order?

Yes, blaze sync already prunes old notes (and since it syncs in reverse order, it doesn’t even sync witnesses for notes that are already spent)

I wanted to quickly point out some things that are causing performance issues specifically with Zecwallet, and our current plan to fix these.

My expectation was that Zcash blocks will full up slowly over time, allowing us enough time to adapt to growing blocks and design better algorithms. However, Zcash blocks have suddenly become full, and we’ve been caught offside :frowning:

For Zecwallet, specifically:

  1. LightwalletD now has to serve several 100s of GB of data everyday.

This is because blocks are full, and each lightclient downloads ~80 bytes per output, causing a 100x increase in bandwidth used by LightwalletD. Additionally, each mobile client has to download ~1GB of data everyday, which can be difficult if you’re over a cell connection

  1. Memory usage.

Zecwallet caches a lot of stuff in memory to improve latency, and while this was fine up until now, with the full blocks, memory requirements have suddenly 10x’ed, which is causing low-end phones to run out of memory and crash. We need to tune some of our sync strategy here to deal with persistently large blocks that may use lots of memory

  1. Updating witnesses and verifying blocks

Zecwallet verifies everything LightwalletD sends, so it calculates the state roots for every block. With these large transactions that have 1000s of outputs, this is slow. Additionally, this has to be done serially (single threaded) which is making it very slow.

To be sure, all these issues are somewhat fixable, but they’ll take some time for us to work through. We plan to address them in upcoming releases.

10 Likes

Would you ever consider merging your efforts with another wallet (e.g. @hanh’s YWallet)? Obviously that would imply both sides are open to doing such a thing.

Feels like a lot of the wallet devs are just solving the same issues independently. If ECC and ZFND can centralize their efforts, why can’t the dev community?

Maybe that’s where @zingolabs comes in?

2 Likes

YWallet also prunes old witnesses and block data. zcash-sync/db.rs at 7dfd64502c91617ec027e1a5456968234dde08cc · hhanh00/zcash-sync · GitHub

Starting from version 1.2.9, it also implements checkpoints (per your suggestion) to allow resuming the sync if you close the app.
And variable block chunk length to handle the surge of transaction outputs better.

8 Likes