-
Notifications
You must be signed in to change notification settings - Fork 112
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
test(scan): Scan blocks containing ZECpages transactions with the ZECpages shielded key #7813
Comments
I am doing part of this testing, but I think it would be good to assign multiple people to it. |
I manually tested this over the weekend, here are some results: The scanner works and there were no panics or hangs. For a full scan with a synced state using For an incremental scan as the state is being synced: The size is acceptable for a few keys, but adding the key to every row might be an issue for a user with lots of keys or shielded transactions. (This is out of scope for the MVP.) It took about 15 hours to scan the entire chain using 1 thread and 1 key in 3 different variants (full, individual spend, and individual change). Performance improvements are out of scope for the MVP. This is about 42 blocks per second, which is already fast enough to make some complicated changes unnecessary.
|
Hey team! Please add your planning poker estimate with Zenhub @arya2 @oxarbitrage @teor2345 @upbqdn |
I am checking this now with PR #8062 |
I manually tested again after PR #8062, here are some results: The scanner works and there were no panics or hangs. For a full scan with a synced state using (No incremental scan this time.) The size is acceptable for a few keys, but adding the key to every row might be an issue for a user with lots of keys or shielded transactions. (This is out of scope for the MVP.) Scanning time appears to be similar or faster. I'm using different hardware and OS, so the previous time isn't comparable.
|
I just tested the latest database format using I also verified the scanned entries against actual zecpages posts: |
Are we good to close this one? I feel like we've tested this a number of times already |
The description mentions unit tests and integration tests. I think we're done with both integration tests, but we don't have a unit test with a real block containing a ZECpages post. |
We talked about having two people do the manual test, which I think has happened, but it's not written on this ticket. |
Ah, we were also waiting for PR #8080 to merge, because that's the last major code change. I guess someone should re-test after that. |
I'll check if #8080 works as intended with the results reader. |
I checked it today. Scanning works as expected, but a version update broke the reader, so I fixed it in #8157. |
Motivation
When we have a draft API, let's try scanning some real blocks with a real key.
ZECpages publishes their key here:
https://zecpages.com/boardinfo
Complex Code or Requirements
If we run this in CI we will need cached state. But to start with we can just run it manually and skip the test unless a specific env var is set.
Implementation
To verify the test worked, we might need a method that gets all the sapling results for a key in the database, in a specific height range.
Testing
Unit test:
Integration test:
Related Work
This is a test for the blockchain scanning work.
The text was updated successfully, but these errors were encountered: