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

DNS-based Discovery: Client implementation #617

Closed
jm-clius opened this issue Jun 14, 2021 · 0 comments
Closed

DNS-based Discovery: Client implementation #617

jm-clius opened this issue Jun 14, 2021 · 0 comments
Assignees

Comments

@jm-clius
Copy link
Contributor

Subtask of #452
Created as partial fulfilment of #552

Problem

vacp2p/rfc#385 proposes a method to discover a bootstrap list of Waku v2 peers via DNS.

A client must be created that can find peers by downloading and interacting with the Merkle tree. It makes use of synchronisation utilities to do so.

It must adhere to the client protocol specified in EIP-1459.
To find nodes at a given DNS name a client performs the following steps:

  1. Resolve the TXT record of the name and check whether it contains a valid matree-root:v1 entry.
  2. Verify the signature on the root against the known public key and check whether the sequence number is larger than or equal to any previous number seen for that name.
  3. Resolve the TXT record of a hash subdomain indicated in the record and verify that the content matches the hash.
  4. If the resolved entry is of type:
    • matree-branch: parse the list of hashes and continue resolving them (step 3).
    • ma: import the multiaddr and add it to a local list of discovered nodes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

No branches or pull requests

1 participant