You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There now exist multiple Zcash source code forks (at least Hush and Pirate) that no longer use Sprout param files. Recently I was able to make it so Hush does not download 900MB of sprout files, since the new Hush mainnet has never had a Sprout transaction. It was a completely wasteful download: wasteful of user time+bandwidth and also costly in terms of Amazon CloudFront costs.
I looked into the Rust code to see if it was possible to initialize librustzcash without sprout-groth16.params, but it seems baked in deep. Is the librustzcash willing to support this use case or does it fall outside your support realm?
What I am looking for are versions oflibrustzcash_init_zksnark_params that do not take sprout-groth16 file as parameter, or perhaps will not fail if null values are given for sprout-groth16:
If you can make your library more flexible, I imagine many thousands of dollars per year can be saved in Amazon Cloudfront costs, by not having every full node of various other coins downloading files that they don't actually need.
The text was updated successfully, but these errors were encountered:
The core Rust changes for this were made in #65, so all that is necessary is to enable librustzcash_init_zksnark_params() to be called without the Sprout parameters. It should be doable by interpreting a null pointer for the Sprout parameter path as "we don't want this one loaded".
At the same time, we should internalise the hashes instead of passing them in, because they aren't ever going to change (passing them through was only beneficial during development prior to the MPC). This would simplify the librustzcash_init_zksnark_params() API to just be the paths.
According to #41 there is a stated goal to
and this issue aligns directly with that goal. Currently all 3 of these parameter files are needed to init librustzcash:
There now exist multiple Zcash source code forks (at least Hush and Pirate) that no longer use Sprout param files. Recently I was able to make it so Hush does not download 900MB of sprout files, since the new Hush mainnet has never had a Sprout transaction. It was a completely wasteful download: wasteful of user time+bandwidth and also costly in terms of Amazon CloudFront costs.
I looked into the Rust code to see if it was possible to initialize librustzcash without sprout-groth16.params, but it seems baked in deep. Is the librustzcash willing to support this use case or does it fall outside your support realm?
What I am looking for are versions of
librustzcash_init_zksnark_params
that do not take sprout-groth16 file as parameter, or perhaps will not fail if null values are given for sprout-groth16:https://github.com/zcash/librustzcash/blob/master/librustzcash/src/rustzcash.rs#L123
If you can make your library more flexible, I imagine many thousands of dollars per year can be saved in Amazon Cloudfront costs, by not having every full node of various other coins downloading files that they don't actually need.
The text was updated successfully, but these errors were encountered: