Skip to content

Add Peering Simulator #6395

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

Open
wants to merge 7 commits into
base: unstable
Choose a base branch
from
Open

Conversation

macladson
Copy link
Member

Issue Addressed

#6109

Proposed Changes

Adds a new simulator to CI which launches with 2 beacon nodes and every 2 epochs adds a new BN to the network. After 16 epochs it checks to see if all new BNs are synced to the head.

Additional Info

This might be overkill in the long term, but hopefully will be useful for DAS testing and CI.

@macladson macladson added work-in-progress PR is a work-in-progress das Data Availability Sampling labels Sep 13, 2024
@macladson
Copy link
Member Author

macladson commented Sep 13, 2024

From my initial local testing, if I disable the eip7594_fork_epoch, the nodes all sync fine and the simulation exits successfully. However if I leave in the eip7594_fork_epoch, the nodes consistently get stuck despite seemingly having peers.

@macladson macladson changed the base branch from das to unstable September 13, 2024 09:24
@jimmygchen
Copy link
Member

However if I leave in the eip7594_fork_epoch, the nodes consistently get stuck despite seemingly having peers.

Nice! that useful finding - will look into this tomorrow.

@jimmygchen
Copy link
Member

Hi @macladson

I haven't been able to get to this, do you have some capacity to look into the issues? It would be useful to complete this change, as we're now picking up on PeerDAS development speed again.

The test will need a bit of update now we've switched to activating PeerDAS at the Fulu hard fork. Let me know if you're busy with something else and I can look into this.

@macladson macladson force-pushed the peerdas-simulator branch from ad7e599 to 7085529 Compare April 9, 2025 10:24
Copy link
Member Author

@macladson macladson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So I've updated the code and rebased onto unstable. It looks like syncing still gets stuck. Simulator logging isn't working properly since the tracing migration but I seem to be seeing a lot of these logs:

Apr 09 20:14:40.606 WARN Could not publish message                     error: NoPeersSubscribedToTopic, kind: data_column_sidecar_125, service: "network"

I don't know PeerDAS enough to know for sure, but maybe in the simulator there aren't enough nodes to properly serve all subnets?

@ackintosh
Copy link
Member

I'll take a look into this as well!

@ackintosh
Copy link
Member

I created macladson#7. peering-sim has run successfully in my local tests, though NoPeersSubscribedToTopic still appears.

Enable subscribe_all_data_column_subnets on boot_node
@ackintosh
Copy link
Member

https://github.com/sigp/lighthouse/actions/runs/14413837149/job/40430090447?pr=6395

Created macladson#8 to fix the CI failure. 🙏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
das Data Availability Sampling work-in-progress PR is a work-in-progress
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants