Slow blockchain download

Insulting those who are trying to help you is uncalled for.

In case the harddrive/memory is ok on his side, what else could trigger such behaviour? I mean it could be worth digging deeper if it could result in finding/excluding a possibe bug, not?

1 Like

Not going to help solve this one anymore, sorry.

@gglpnh
I understand your frustrations, those blocks in particular were back when some exchanges were sweeping thousands of “dust” transactions at once so they are a common pain point when doing initial verification/sync.

However, this is a warning that personal attacks are against the code of conduct.
Personally attacking other community members who are trying to help you won’t be tolerated.

4 Likes

I’m not insulting. I’m telling the truth. I want ZCash to conquer the world. And did some testing work for free. I understand that such rough criticism should not be public - but it is well deserved. I create enterprise systems, my speciality is not blockchain, so I can not be 100% sure, but… I’m 95% sure that problems which I faced last two days can be easily solved automatically by zcashd.

Also, as a side note, you mentioned that it was “hanging” and you killed zcashd when it may have been in fact working through those blocks, and killing the process in the middle of the verification could have caused the corruption.

1 Like

It’s me who is trying to help here. I could reinstall wallet and delete data without hints - this is most obvious and stupid solution. Or I could just not use it at all. That nice guy (whom I “attacked”) lacks both programming and communication qualifications. What he should say is “Thank you for you help. We will do our best to make zcashd solve such problems automatically in future. But now as a temporary solution you can do this and that and bla bla bla”.
But what your employee answered could be understood in one and only way - “we at zcash foundation does not give a FAQ about such minor problems. Just go check your stupid PC and reinstall wallet from scratch. We won’t fix anything because this is absolutely normal for our wallet to operate this way.”
While remnants of your loyal community waits for new features and some good news your staff can not even show a bit of concern about your products usability.

No. By hanging I meant that it was just doing nothing. It crashed by itself few times but I never killed the process manually. Only Ctrl+C for zcashd or closing window for ZecWallet

UPD: but again… even if I did - wallet should resolve any such issues automatically.

You are are completely off the mark.

ZecWallet is a third party wallet maintained by @adityapk00 who is not part of Electric Coin Company and doesn’t develop zcashd software.

The only official version of Zcashd is the (Linux CLI only) one maintained by ECC which can be downloaded at: Zcash ¡ GitHub

For those outside your inner circle this link looks like something official. And anyway - I never forgot that only official wallet is zcashd - and everything we discuss is primarily about zcashd, and only secondarily about ZecWallet.
This problem is not with ZecWallet. It’s with zcashd.

Exactly, therefore your attacking @adityapk00 for something he has no control over is that much more inappropriate.

Then just pass my offensive words to someone who is in charge of zcashd.
Once again - sorry if I was too offensive here, it is because in our company (growing IT with 150+ stuff) we care about our customers and have high internal standards for UX and product quality.
For a product with few years development history it is not acceptable to be this unreliable. Again - blockchain is not my speciality, but I’m almost sure you can do it better if you admit problems and spend some efforts.
Have a nice day everyone.

If zcashd crashed on you, it is possible that the machine either ran out of memory or ran into some other corruption issue. I tried to parse the block in question once again on my local machine, and it validates fine, which once again points to a corrupted DB on disk.

It’s unclear why this might happen, but the most feasible path forward to is to try resyncing the blockchain from scratch.

You could also try re-indexing, but if the corruption is in on the disk block (and not just in the zcashd DB), you’re likely to run into the same issue again. Reindexing is relatively faster, so it might be worth a try.

Please look at the ZecWallet FAQ: Troubleshooting Issues - ZecWallet Docs

2 Likes

If the corruption is in the downloaded block that was saved to disk, a reindex will not help, since it will try to re-parse the same corrupted block and fail once again at the same place.

You’re right that such issues are problematic, especially for average joe users who don’t have a deep understanding of the system. I think moving to the light-client model will help with issues like this. (I’m working on a prototype for the light client, stay tuned)

5 Likes

1) Is it really not possible at all to re-download “corrupted” piece of data automatically and continue operating properly from that point?
2) And if it is possible, why it is still not implemented? Blockchain grow every second and with time this problem will only become worse.

Please give direct and honest answers to my direct questions.
This is not about me or my PC - this is about major flow in data downloading algorithm.
So I think you should not just ignore this.

Implementing re-download is not very helpful, since the corruption can occur after the block has been validated and verified (i.e., while storing to disk/reading from disk).

A much better solution is to work on light-client protocols, which allow verification via CompactBlocks, which means you don’t have to download the entire blockchain in the first place. This is also a much better solution to the blockchain growth problem.

Light client protocols are in various stages of implementation. You can learn more here: zips/zip-XXX-light-payment-detection.rst at light_payment_detection ¡ gtank/zips ¡ GitHub

1 Like

Still downloading it, at 40.71% now, this is stupid,there must be a faster way.

1 Like

“Light client protocols” is a wonderful thing. Really. And I’m looking forward to new shiny light-wallet, especially for mobiles.
But now we’ve got 2 problems:

  1. At the moment there is no any reliable user friendly official wallet.
  2. Downloading full blockchain might be still usefull, but current implementation forces user to download everything from scratch even if there was a problem somewhere around 99% of data. This is really not rational from my pov. And IF there is a way to avoid it and save time, nerves and traffic for users, this definitely should be done. So, I ask zcash devs to consider this matter carefully.
    I just really don’t understand why it is not possible to continue from some valid point.

This is because when you are using ZecWallet (or any other full node software) you are validating literally every transaction that has ever been made on Zcash.

You would experience similar times (or worse) if you started a new Ethereum full node, I think Ethereums chain is over 1TB in size now.

The solution is what was mentioned above, having light client nodes that can easily be connected to so users don’t need a local copy of the entire chain to make Private transactions.

They are well aware that this is a big issue and that’s why they released Sapling which was a huge improvement in CPU/ verification time and also why they are working on lightwalletd GitHub - zcash/lightwalletd: Lightwalletd is a backend service that provides a bandwidth-efficient interface to the Zcash blockchain so users don’t need the entire chain to run transactions.

It’s unfortunate that we don’t have these things right now but that doesn’t mean ECC is not working on them.

1 Like

I think there is solution to this, I only have 8 connections, and I heard there is way to open up for more connections and thus faster download. Maybe this could be done by default in the wallet ?