You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: 10-dns-bootstrap.md
+4-4
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ This specification describes a node discovery mechanism based on the Domain Name
4
4
Its purpose is twofold:
5
5
6
6
- Bootstrap: providing the initial node discovery for nodes that have no known contacts in the network
7
-
- Assisted Node Location: supporting nodes in discovery of the current network address of previously known peers
7
+
- Assisted Node Location: supporting nodes in discovery of the current network address of previously known peers
8
8
9
9
A domain name server implementing this specification is called a _DNS Seed_, and answers incoming DNS queries of type `A`, `AAAA`, or `SRV` as specified in RFCs 1035<sup>[1](#ref-1)</sup>, 3596<sup>[2](#ref-2)</sup> and 2782<sup>[3](#ref-3)</sup> respectively.
10
10
The DNS server is authoritative for a subdomain, called a _seed root domain_, and clients may query it for subdomains.
@@ -21,12 +21,12 @@ The conditions are key-value pairs with a single-letter key; the remainder of th
21
21
The following key-value pairs MUST be supported by a DNS seed:
22
22
23
23
-`r`: realm byte, used to specify what realm the returned nodes must support (default value: 0, Bitcoin)
24
-
-`a`: address types, used to specify what address types should be returned for `SRV` queries. This is a bitfield that uses the types from [BOLT 7](07-routing-gossip.md) as bit index. This condition MAY only be used for `SRV` queries. (default value: 6, i.e.,`2 || 4`, IPv4 and IPv6) [ FIXME: BOLT 7 says that IPv4 and IPv6 are address descriptor types 1 & 2. Are we missing something in this description? ]
24
+
-`a`: address types, used to specify what address types should be returned for `SRV` queries. This is a bitfield that uses the types from [BOLT 7](07-routing-gossip.md) as bit index. This condition MAY only be used for `SRV` queries. (default value: 6, i.e. `2 || 4`, since bit 1 and bit 2 are set for IPv4 and IPv6, respectively)
25
25
-`l`: `node_id`, the bech32-encoded `node_id` of a specific node, used to ask for a single node instead of a random selection. (default: null)
26
26
-`n`: the number of desired reply records (default: 25)
27
27
28
28
Results returned by the DNS seed SHOULD match all conditions.
29
-
If the DNS seed does not implement filtering by a given condition it MAY ignore the condition altogether (i.e., the seed filtering is best effort only).
29
+
If the DNS seed does not implement filtering by a given condition it MAY ignore the condition altogether (i.e. the seed filtering is best effort only).
30
30
Clients MUST NOT rely on any given condition being met by the results.
31
31
32
32
Queries distinguish between _wildcard_ queries and _node_ queries, depending on whether the `l`-key is set or not.
@@ -39,7 +39,7 @@ Upon receiving a node query, the seed MUST select the record matching the `node_
39
39
40
40
### Reply Construction
41
41
42
-
The results are serialized in a reply with a query type matching the client's query type, i.e.,`A` queries result in `A` replies, `AAAA` queries result in `AAAA` replies, and `SRV` queries result in `SRV` replies, but they may be augmented with additional records (e.g., to add `A` or `AAAA` records matching the returned `SRV` records).
42
+
The results are serialized in a reply with a query type matching the client's query type, i.e. `A` queries result in `A` replies, `AAAA` queries result in `AAAA` replies, and `SRV` queries result in `SRV` replies, but they may be augmented with additional records (e.g. to add `A` or `AAAA` records matching the returned `SRV` records).
43
43
44
44
For `A` and `AAAA` queries, the reply contains the domain name and the IP address of the results.
45
45
The domain name MUST match the domain in the query in order not to be filtered by intermediate resolvers.
0 commit comments