-
Notifications
You must be signed in to change notification settings - Fork 586
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
Adds Batch client connection and async RPC calls to the bitcoind client #807
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the PR, this will speed up chain rescans considerably!
Great work so far, looks pretty good. My feedback mostly consists of style feedback, the code seems to work as advertised 🎉
759043b
to
7f29aa8
Compare
Thanks for the insightful review @guggero, I have updated the commits accordingly. |
@Vib-UX Just FYI: I'm waiting with my next round of review since some of the changes requested in the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR seems to be abandoned, submitting empty review to remove it from my "reviews requested" list.
Recently solved a few test-coverage issues while implementing generic functions, and will be pushing updates by this weekend, had a chat with @bhandras as well regarding this. |
This commit adds a batch client connection and async RPC calls to the bitcoind client which will enable batching multiple requests speeding up operations by reducing round trips.
This will leverage the updated batch client to fetch multiple blocks in one go which can speed up rescan and filter blocks.
Both RescanBlocksBatched() and FilterBlocksBatched() leverages GetBlocksBatch() which works with the updated batch client for speed ups.
Testcoverage to ensure that GetBlocksBatch() which leverages batchAPI works as expected with enhanced performance.
Testcoverage to ensure that RescanBlocksBatched() which leverages updated batchAPI for scanning the chain works as expected with enhanced performance.
Testcoverage to ensure that FilterBlocksBatched() which leverages batchAPI for scanning the chain works as expected with enhanced performance.
PR serves in relation to fixing issue 5041
With this PR we enable batch client connection and async RPC calls to the bitcoind client providing testcoverages for the same. This helps us in batching the required requests needed for speeding up operations by reducing round trips.
Speedups:
Pull Request Checklist
Testing
Code Style and Documentation
📝 Please see our Contribution Guidelines for further guidance.