-
Notifications
You must be signed in to change notification settings - Fork 106
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
Mempool component and storage #2651
Conversation
This comment has been minimized.
This comment has been minimized.
54161c0
to
f6964de
Compare
c00a50f
to
5b32f5b
Compare
I added a very basic test for the storage in 4ea0067 and i fixed a bug in 08269b4 (The Another issue i found that maybe was already discussed is that all transactions get moved from the |
a6f6d6f
to
b9ae1ba
Compare
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.
Just some typos, clarifications, and name suggestions
We keep IDs because we don't want to re-download, re-verify, or re-store transactions we've recently rejected. I've added a task to put a size limit on the rejected list, but I don't think it should block this PR. Also we'll clear the transactions and rejected IDs every time we reset the mempool, for example, when we switch chain forks. (Approximately every 300 blocks.) |
Co-authored-by: teor <teor@riseup.net>
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.
I'd like to fix some indexing bugs in the tests before we merge.
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.
All comments were addressed, i think we can do more work in here but is good enough IMHO to get started so i will merge it as it is also blocking other PRs.
Motivation
First iteration of the main
Mempool
as a service that wraps amempool::Storage
manager. The crawler and tx download and verify stream will be internal to this component (privileged) while consumers of mempool will query it via theRequest
/Response
protocol.Specifications / Designs
https://docs.google.com/document/d/10PP6wKlnS5gannRph_EQ8V9diR7byddf3W2YFZ564FU/edit#heading=h.1v3bcppsa6wq
https://jamboard.google.com/d/1HUhdqx8afJUqgiBdBcjCw0aAfDod9R9KBJeAH24U1Qg/viewer?f=0
Solution
Resolves #2589, #2591, #2620
Review
Reviewer Checklist
Follow Up Work