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

waku2: pending items for the integration of status-go and go-waku #4057

Closed
14 of 21 tasks
richard-ramos opened this issue Sep 22, 2023 · 6 comments
Closed
14 of 21 tasks
Labels
E:Chat See https://github.com/waku-org/pm/issues/105 for details E:Community Sharding Tasks to get sharding working on communities

Comments

@richard-ramos
Copy link
Member

richard-ramos commented Sep 22, 2023

2023-12-14: DO NOT ADD MORE ISSUES! Please use: https://github.com/orgs/waku-org/projects/5/views/1 for further tracking. Freezing and closing this issue.


cc: @fryorcraken @iurimatias @cammellos @chaitanyaprem

@fryorcraken
Copy link

Some core contributors have run into trouble finding the bootstrap nodes, due to DNS missconfigurations. Perhaps it makes sense to have a hardcoded list of nodes in status-go with the idea of using these when DNS Discovery fails. Otherwise the node will fail to find peers.

What process does Ethereum has to ensure this does not happen? I think we should replicate here.

@richard-ramos
Copy link
Member Author

richard-ramos commented Sep 27, 2023

What process does Ethereum has to ensure this does not happen? I think we should replicate here.

Based on what I could see in:

It will first set for DiscoveryV4 depending on the network one of these enode lists: https://github.com/ethereum/go-ethereum/blob/b85c183ea7417e973dbbccd27b3fb7d7097b87dd/params/bootnodes.go#L23-L65

For DiscoveryV5, these bootnodes ENRs are used: https://github.com/ethereum/go-ethereum/blob/b85c183ea7417e973dbbccd27b3fb7d7097b87dd/params/bootnodes.go#L67-L83

If DNS Discovery is enabled then a dns discovery url like enrtree://AKA3AM6LPBYEUDMVNU3BSVQJ5AD45Y7YPOHJLEF6W26QOE4VTUDPE@.all.mainnet.ethdisco.net is used: https://github.com/ethereum/go-ethereum/blob/master/params/bootnodes.go#L85-L104

Geth by default will use discoveryV4 and dnsDiscovery, meaning that it will support two discovery methods with only dns discovery depending on nameservers, while the discv4/5 bootstrap nodes use IPs and are not affected by nameserver configs; and the user is able to override these values.

Sounds like a good approach to follow both in status-go and waku service nodes.

@richard-ramos
Copy link
Member Author

richard-ramos commented Oct 13, 2023

Another item to track: @chair28980

@richard-ramos
Copy link
Member Author

richard-ramos commented Oct 19, 2023

In status-im/status-desktop@08c4bcb I fix the first item. The solution was to also add in the node config the individual nodes ENRs in addition to the DNS discovery URL for the fleet. That way if the DNS Discovery fails for some reason, at least the status-go will have some ENRs to use as bootstrap nodes.

@vitvly @cammellos . It might be a good idea to do this in mobile as well.

@richard-ramos
Copy link
Member Author

richard-ramos commented Nov 2, 2023

Update on this issue: waku-org/nwaku#2162
Based on today's discussion with @jm-clius, I'll do a change in go-waku to not filter out bootnodes if their ENR do not contain the shards the client is interested into

@cammellos cammellos added the E:Community Sharding Tasks to get sharding working on communities label Nov 6, 2023
@chair28980 chair28980 added the E:Chat See https://github.com/waku-org/pm/issues/105 for details label Dec 6, 2023
@chair28980
Copy link

All further integration tracking captured via project: https://github.com/orgs/waku-org/projects/5/views/1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
E:Chat See https://github.com/waku-org/pm/issues/105 for details E:Community Sharding Tasks to get sharding working on communities
Projects
None yet
Development

No branches or pull requests

4 participants