Nearlybrokes Sprout ZEC recovery thread

It looks like this error is listed here:

Steps to try (based on ChatGPT analysis of issue #6840):

  1. Backup your wallet

zcash-cli stop
cp ~/.zcash/wallet.dat ~/wallet-backup.dat

  1. Restart the node and rebuild chain state

zcashd -reindex-chainstate

  1. After sync completes, verify the Sprout balance

zcash-cli z_listaddresses
zcash-cli z_getbalance “”

  1. Send Sprout funds to a Sapling address in a single transaction

zcash-cli z_sendmany “”
‘[{“address”:“”,“amount”:<BALANCE_MINUS_FEE>}]’
1 0.0001 “AllowRevealedAmounts”

  1. Check operation status

zcash-cli z_getoperationstatus
zcash-cli z_getoperationresult

  1. If the crash happens again, rebuild the full index

zcashd -reindex

  1. Inspect the log

tail -n 50 ~/.zcash/debug.log

1 Like

As long as you have the mnemonic, you shouldn’t worry. Make N number of backups. I can promise you community is here to help.

@joshs can anyone from ZODL help?

old wallets don’t have mnemonics, but yes, as long as you have your wallet.dat, you should be able to migrate your sprouts funds before the deprecation

1 Like

Mod note: consolidated all of @nearlybroke recovery efforts into a single thread to hopefully get this resolved.

3 Likes

I tried to send 0.xx from a taddr to a sapling and got this failure message:

“message”: “SendTransaction: Transaction commit failed:: tx unpaid action limit exceeded: 31 action(s) exceeds limit of 0”

finding some examples of this on the web I tried increasing the fee by 0.00005, twice and the number above only reduced 33→32→31 . a bllind guess is I must now pay 31x0.00005 to make a tx!

but why ? (it was previously my pool mining address and no doubt there were micro payments made until the pool decided to stop paying out)

The minimum fee was raised due to the sandblasting attack the happened to Zcash back in 2023.

The sandblasting attack is the primary reason all fresh new nodes (like the one you had to set up) take forever to sync.

The Zcash sandblasting attack, which involved spamming the network with, small, low-fee transactions, was mitigated by ZIP-317, which established a standard, recommended fee of 1,000 to 10,000 zatoshi ($0.0001–$0.001 USD) per “action”. This fee model, based on action-based accounting, effectively stops spam by making it costly to flood the network.

I have read that and it is absolutely NOT clear to a lay person like me.

which is why I ask whether it means 33x the normal fee simply due to possibly that many payments made into that address. this wouldn’t even occur to a lay person becaue the idea you pay for transfer into an account and then pay again for that same amount going out is unimaginable, so I’m doing well even suggesting it, so an explicit answer would be appreciated, since you seemingly happen to know.

A few years back, shortly after the NU5 launch, began what is considered some network dos (denial of service) attack. It was not complete, but it was pretty effective and went through a couple of stages for over a year, at least one of them named sandblasting.
The solution that is encapsulated in zip317 was conceived and eventually implemented in hopes of stopping this/these person’s attack by essentially forcing the user to pay a proportional amount (fee) to the number of inputs (or outputs, whichever is more) that go into the transaction. It was believed that the attack was happening because of the low low static fee, coupled with the low low price so it was basically trivial for them to block normal users from transacting and simply taxing the input multiplicity was considered the least invasive way to fix it.
And it did work, but it did have some negative consequences for holders of micro quantities, in particular notes that are valued less than the minimum fee 0.00005 are not spendable. The fee rules are enforced at the consensus level, so there’s no way around it and a solution for them is still pending.
Your transaction will require a fee equivalent to the figures you posted yes which is still only (today) about $0.35

It’s because Zcash is based on the Bitcoin model where an account is more like a jar of coins. If you filled it with pennies, it’s gonna cost you to carry it around.

1 Like

so after Arktors suggestion to use a LLM, the output mentioned the non-use of the coinView function so I used the given ‘migration’ commands and the transfer began to work. yay.
I searched on the migration commands and lo-and-behold there was a migration page buried at Sprout-to-Sapling Migration — Zcash Documentation 6.11.0 documentation
I vaguely remember finding this right at the beginning but dismissed it - the language looked ludicrously
technical and didn’t seem appropriate for a regular user, let alone a page titled “Sapling Turnstile”, let alone it being inside a document likely of little interest to them, so I moved on.
The moving on ended in posting to this forum for help. The document above was never mentioned
in any replies.

after months of trying to download the chain and get a functioning zcashd (there are bugs that result in it effectively throwing away
the chain and starting from scratch), I attempted a transfer.
whatever I tried resulted in the coinView assertion failure.
can this really be the means by which the zcash daemon has been officially disabled in the means to do sprout-to-sapling?
no, because a sprout-to-transparent resulted in the same while the page above said this is possible.

so after 21 transactions/6 days, the transfer to sapling is done… except for the <0.01 amount that terminates the migration.
it still dumbfounds me why bitcoin holders didn’t immediately move to zcash on launch.
but ever hopeful, if the world ever wakes up to the importance of transacting outside of government ‘permitted’ channels, then the current value
of that 0.01 in bitcoin terms is worth some $700 !
I would like to transfer that remaining amount.

as mentioned a sprout-to-transparent attempt via z_sendmany did not work. does anyone know how this can be done outside the migration process?

on the matter of 21 transactions/6 days: as a holder almost out of time to get out of sprout I would have been happy to
expose the amount transferred because once in sapling I could make a sapling-to-sapling transfer and be totally shielded again. why would anyone
care about an amount reveal when both the originating address was shielded and the ultimate destination is shielded?

apparently there is still 25k of other peoples coin in the sprout pool.
probably that is mostly abandoned or down to lost keys/passwords, but for anyone still struggling to get out in time, I have a working system and am quite willing
to do a migration gratis. I don’t have any community standing whatsoever but don’t let that stop you.

4 Likes