Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add an NU5 block test vector that contains many shielded Orchard transactions #4774

Open
dconnolly opened this issue Jul 12, 2022 · 2 comments
Labels
C-testing Category: These are tests I-slow Problems with performance or responsiveness
Projects

Comments

@dconnolly
Copy link
Contributor

dconnolly commented Jul 12, 2022

Motivation

When blocks started showing up on mainnet after NU5 with many shielded Orchard transactions, we observed aberrant zebrad verification behavior that helped us identify some bugs already. We should include these blocks (at least one) as test vectors.

Related Work

#4775

@dconnolly dconnolly added S-needs-triage Status: A bug report needs triage P-Medium ⚡ I-slow Problems with performance or responsiveness C-testing Category: These are tests labels Jul 12, 2022
@dconnolly dconnolly added this to To Do in 🦓 via automation Jul 12, 2022
@dconnolly dconnolly changed the title Add a block test vector that contains many shielded Orchard transactions Add an NU5 block test vector that contains many shielded Orchard transactions Jul 12, 2022
@str4d
Copy link
Contributor

str4d commented Jul 12, 2022

I wrote a script for generating (most of) the necessary data to benchmark verification of specific heavy blocks (the heaviest I could find at their respective times) using a mainnet zcashd, which we use to avoid checking in a large amount of data that is only used for performance benchmarks. The script collects the noted blocks and their transparent inputs (in zcashd's coins LevelDB format), and writes out a tarball. We then pair that with some hard-coded Sapling and Orchard trees (that I extracted by hand, as the RPCs didn't quite have enough expressiveness to expose them) that are needed to fully-validate the blocks.

(For reference, the usage of these in our benchmarks is ./qa/zcash/performance-measurements.sh time connectblockslow or connectblocksapling / connectblockorchard)

@teor2345
Copy link
Contributor

Zebra's performance is good enough for now, so this is a low priority.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-testing Category: These are tests I-slow Problems with performance or responsiveness
Projects
Status: New
🦓
  
To Do
Development

No branches or pull requests

5 participants