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

Subscribe to column subnets from PeerDAS epoch #5894

Open
Tracked by #4983
dapplion opened this issue Jun 5, 2024 · 0 comments
Open
Tracked by #4983

Subscribe to column subnets from PeerDAS epoch #5894

dapplion opened this issue Jun 5, 2024 · 0 comments
Labels
das Data Availability Sampling

Comments

@dapplion
Copy link
Collaborator

dapplion commented Jun 5, 2024

The logic to subscribe / unsubscribe topics at a fork is the following:

network/src/service.rs holds three timer futures:

  • next_fork_subscriptions: Calls subscribe_new_fork_topics and subscribes to any existing topics but with the new fork-digest. Also, subscribes to new topics returned from fork_core_topics(new_fork)
  • next_unsubscribe: Calls unsubscribe_from_fork_topics_except to unsubscribe all topics expect those with the current fork-digest
  • next_fork_update: Sets new futures for next_fork_subscriptions, next_unsubscribe and next_fork_update

Outside of a fork-boundary the network service may receive a SubscribeCoreTopics message and subscribe to all topics returned by core_topics_to_subscribe

With peerdas

Now we have a new topic transition point where:

  • we need to unsubscribe to a topic in all fork-digests
  • do not rotate topics on a new fork-digest

Note that data_columns topics are not core topics, so we may not have to subscribe ahead of time. If we can accept a few slots of instability while we find peers we can avoid the complexity.

@dapplion dapplion mentioned this issue Jun 5, 2024
52 tasks
@chong-he chong-he added the das Data Availability Sampling label Jun 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
das Data Availability Sampling
Projects
None yet
Development

No branches or pull requests

2 participants