-
Notifications
You must be signed in to change notification settings - Fork 107
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
Send AdvertiseTransactionIds
to peers
#2823
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.
This looks like a good start, but there are some tricky edge cases we might want to handle.
Have you tested syncing to tip on mainnet or testnet?
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 did some checks in PR #2729 that you might find useful.
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.
Thanks for rebasing on top of my mempool refactor and gossip test PRs!
We could merge this PR as it is, but I think it's important that we test that the transaction gossip task doesn't panic or have errors.
Did you want to open the follow up ticket for skipping expired transactions and transactions that the mempool storage rejected? (I can do it if you want.)
Co-authored-by: teor <[email protected]>
Keeping the mempool around avoids a transaction broadcast task error, so we can test that there are no other errors in the task.
We want to be able to change the setup without changing the tests.
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'm ok with merging this, if @oxarbitrage is ok with my bug fix and cleanup.
Everything looks good here, merging. |
Motivation
After any transaction is inserted into our mempool it must be broadcasted to active peers. Close #2758 when merged.
Solution
Add a watch channel to send inserted transactions from the mempool into a gossip transactions module. Some ideas for this are taken from #2729
Review
Maybe @jvff can do the initial review :)