-
Notifications
You must be signed in to change notification settings - Fork 76
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
conductor: replace gossipnet by a subscription to cometbft/sequencer #383
Conversation
5b7a78c
to
6bbdeb2
Compare
a3ff06e
to
016f21d
Compare
9399c90
to
7158db2
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.
docs and comments still mention gossip. made some related drive-by changes that are applicable here #394 .
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.
approving to not block but pls address comments before merge 🙏
This patch removes gossipnet from conductor, relying on the new extension trait introduced in recent patches of sequencer-client.
98de494
to
a2e0805
Compare
I'm still finding the word 'gossip' in docs and comments when I search |
…egration * main: conductor: infallibly convert verification key to tendermint public key (#371) Updating sequencer config implementation (#330) conductor: refactor with a single `Conductor` type entrypoint. (#392) conductor: replace gossipnet by a subscription to cometbft/sequencer (#383) sequencer-client: add extension trait to subscriber to new sequencer blocks (#382) update conductor docs after validation changes (#322)
|
||
is_shutdown: Mutex<bool>, | ||
} | ||
|
||
struct SequencerClient { |
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.
Again on descriptive nature, should this be SequencerWsClient
?
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.
IMO that's too descriptive, especially when adding abbreviations. I can see the need if we were to use both http and ws clients, but not if it's only one in this context.
The underlying transport doesn't matter at this level of abstraction
## Summary Remove the gossipnet crate and mentions of it. ## Background Patches #383, #384 removed gossipnet from sequencer-relayer and conductor. This patch removes the `astria-gossipnet` crate altogether because it is no longer used. This PR does not update the conductor spec but leaves it as a follow-up. ## Changes - Remove `astria-gossipnet`, update README, github workflow, workspace Cargo.toml to reflect that - Remove `gossipnet` mentions from astria-conductor ## Testing not applicable ## Related Issues closes #334
Summary
This patch replaces gossipnet by a websocket stream of new blocks directly from sequencer.
Background
Adding a p2p layer adds a lot of complexity to astria services. With this patch conductor reads new blocks directly off of cometbft/sequencer, making it much simpler. For background reading, see this issue: #325
Changes
Testing
We are relying on the rust tendermint-rpc crate functioning properly. As a follow-up it makes sense to create blackbox tests for conductor, which are currently absent.
Breaking Changelist
Related Issues
Precursor PRs unblocking this work:
#375
#376
#382
closes #332