Skip to content
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

Merged
merged 7 commits into from
Sep 20, 2023

Conversation

SuperFluffy
Copy link
Member

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

  • Replace gossipnet directly by a stream of new blocks using the cometbft subscrition RPC.
  • No other changes in regard to how blocks are further processed has been made.

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

  • Reading over p2p is no longer supported. Deployments must be updated and wired to read off of cometbft/sequenceer.

Related Issues

Precursor PRs unblocking this work:
#375
#376
#382

closes #332

@SuperFluffy SuperFluffy requested a review from a team September 18, 2023 15:30
@github-actions github-actions bot added conductor pertaining to the astria-conductor crate sequencer pertaining to the astria-sequencer crate sequencer-relayer pertaining to the astria-sequencer-relayer crate labels Sep 18, 2023
@SuperFluffy SuperFluffy changed the base branch from main to superfluffy/expand-sequencer-client September 18, 2023 15:31
@github-actions github-actions bot removed sequencer pertaining to the astria-sequencer crate sequencer-relayer pertaining to the astria-sequencer-relayer crate labels Sep 18, 2023
@SuperFluffy SuperFluffy force-pushed the superfluffy/conductor-remove-gossipnet branch from 5b7a78c to 6bbdeb2 Compare September 18, 2023 15:32
@SuperFluffy SuperFluffy temporarily deployed to BUF September 18, 2023 15:33 — with GitHub Actions Inactive
@SuperFluffy SuperFluffy temporarily deployed to BUF September 18, 2023 15:55 — with GitHub Actions Inactive
@SuperFluffy SuperFluffy temporarily deployed to BUF September 18, 2023 16:05 — with GitHub Actions Inactive
@SuperFluffy SuperFluffy temporarily deployed to BUF September 18, 2023 16:10 — with GitHub Actions Inactive
@SuperFluffy SuperFluffy force-pushed the superfluffy/expand-sequencer-client branch from a3ff06e to 016f21d Compare September 19, 2023 08:53
@SuperFluffy SuperFluffy force-pushed the superfluffy/conductor-remove-gossipnet branch from 9399c90 to 7158db2 Compare September 19, 2023 09:09
@SuperFluffy SuperFluffy temporarily deployed to BUF September 19, 2023 09:09 — with GitHub Actions Inactive
@SuperFluffy SuperFluffy temporarily deployed to BUF September 19, 2023 10:05 — with GitHub Actions Inactive
Copy link
Contributor

@emhane emhane left a 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 .

Copy link
Collaborator

@noot noot left a 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 🙏

Base automatically changed from superfluffy/expand-sequencer-client to main September 20, 2023 11:44
@github-actions github-actions bot added the sequencer pertaining to the astria-sequencer crate label Sep 20, 2023
@SuperFluffy SuperFluffy force-pushed the superfluffy/conductor-remove-gossipnet branch from 98de494 to a2e0805 Compare September 20, 2023 12:25
@github-actions github-actions bot removed the sequencer pertaining to the astria-sequencer crate label Sep 20, 2023
@SuperFluffy SuperFluffy temporarily deployed to BUF September 20, 2023 12:25 — with GitHub Actions Inactive
@SuperFluffy SuperFluffy temporarily deployed to BUF September 20, 2023 12:26 — with GitHub Actions Inactive
@SuperFluffy SuperFluffy mentioned this pull request Sep 20, 2023
@SuperFluffy SuperFluffy merged commit 9d75fb5 into main Sep 20, 2023
24 checks passed
@SuperFluffy SuperFluffy deleted the superfluffy/conductor-remove-gossipnet branch September 20, 2023 12:47
@emhane
Copy link
Contributor

emhane commented Sep 20, 2023

docs and comments still mention gossip. made some related drive-by changes that are applicable here #394 .

I'm still finding the word 'gossip' in docs and comments when I search

steezeburger added a commit that referenced this pull request Sep 20, 2023
…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)
crates/astria-conductor/src/config.rs Show resolved Hide resolved

is_shutdown: Mutex<bool>,
}

struct SequencerClient {
Copy link
Member

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?

Copy link
Member Author

@SuperFluffy SuperFluffy Sep 20, 2023

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

SuperFluffy added a commit that referenced this pull request Sep 20, 2023
## 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
conductor pertaining to the astria-conductor crate
Projects
None yet
Development

Successfully merging this pull request may close these issues.

remove gossipnet from conductor
5 participants