# DNS Seeder

![](https://4234687906-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LSVz9GFTMkEWv7Osg-S%2F-LtAvwNYlfb48Mtg83er%2F-LtAxGgUmeoeXhOXfKfA%2FMerge%20Seeder.jpg?alt=media\&token=e18c0955-befa-45e0-90a1-fa4e8da1170e)

## What is DNS Seeder?

**DNS Seeder** is the service that returns IP addresses of full [nodes](https://bitcoin.org/en/glossary/node) on a coin's network to **assist in peer (node) discovery**. This action is crucial when keeping all the nodes and wallets successfully synchronised and connected to the right chain, avoiding the risk of forking.

To accomplish its mission, DNS Seeder **crawls** a coin's network to expose a list of reliable nodes via a built-in DNS server. This list of peers is then shared with the nodes that attempt to connect to the said network.

With the next video, learn why it is important to have a DNS Seeder for a blockchain:

{% embed url="<https://www.youtube.com/watch?v=g7ysR5id3oY>" %}

### Features

The main features of DNS Seeder are:

* Regularly revisits known nodes to check their availability.
* Bans nodes after enough failures, or bad behaviour.
* Keeps statistics over (exponential) windows of 2 hours, 8 hours, 1 day, 1 week and 1 month, to base decisions on.
* Very low memory (a few tens of megabytes) and CPU requirements.
* Crawlers run in parallel.

The use of DNS Seeder completely **removes** the need of relying on **static** nodes and **manually** adding ***addnode*** IP addresses into a coin's config file. In these two cases, it is not guaranteed that a wallet will be fully and successfully synchronised, nor it is avoided the risk of connecting to the wrong chain and, thus, **forking**. This is due to the fact of trying to connect to nodes that may not be online or synchronised correctly and on the right chain.

### How does it work?

Assuming the *peers.dat* file is empty or does not exist, a coin's wallet will request DNS records to DNS Seeder in order to **find** **peers** that will help synchronise it on the coin’s network. DNS Seeder will then respond with 32 addresses (16 IPv4 and 16 IPv6) that are known as good and **reliable** connections. The number of received addresses can be larger by having the wallet performing multiple DNS requests.

**Note**: by default, a wallet will first check for peers on the *peers.dat* file, which is located on the coin’s data folder. When no peers are found there, the DNS Seeder will then be called. Peers received by DNS Seeder will be added into *peers.dat*. This behaviour can be altered in a coin’s wallet in order to give priority to DNS Seeder to be always called first.

### User interface

DNS Seeder does its work on the background, to create the list of reliable peers that is shared with nodes attempting to connect to the network. To help users having an overview of DNS Seeder, we provide its real-time findings and results in a user friendly interface. In this section, such interface is demonstrated.

**Note**: we will support the demonstration of DNS Seeder’s user interface using the Merge coin. The screenshots show the contents in English. However, the service is provided on Project Merge’s website in at least 10 different languages!

From Project Merge’s website, access our portfolio of coins using DNS Seeder: [https://seeder.projectmerge.org](https://seeder.projectmerge.org/)

<div align="left"><img src="https://4234687906-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LSVz9GFTMkEWv7Osg-S%2F-LtAvwNYlfb48Mtg83er%2F-LtAxMFe_6gETHwfy-54%2FDNS_Seeder-choose-coin.png?alt=media&#x26;token=b84269fe-0c28-435e-8f1a-a285a757be8e" alt=""></div>

Once in there, choose *Merge* to access the user interface of Merge’s DNS Seeder (direct link: <https://seeder.projectmerge.org/merge>).

The content that gets displayed details the findings of DNS Seeder on Merge’s network. This data is used by the tool when providing the peers information to a new node that aims to connect to the mentioned network.

First, a summary of all the nodes connected to Merge’s network is shared:

* Total number of nodes online.
* Number of good nodes vs the bad ones.&#x20;
* Which Merge wallet version each node is using.&#x20;
* Number of nodes with IPv4 vs IPv6 addresses.

<div align="left"><img src="https://4234687906-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LSVz9GFTMkEWv7Osg-S%2F-LtAvwNYlfb48Mtg83er%2F-LtAxRSHxqSL8q4xaEBo%2FDNS_Seeder-total-nodes-online.png?alt=media&#x26;token=092c4934-4a8b-4347-ab12-083584b15425" alt=""></div>

Second, a world map is shown highlighting the countries the nodes are being ran from. This is based on the IP addresses of the nodes.

<div align="left"><img src="https://4234687906-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LSVz9GFTMkEWv7Osg-S%2F-LtAvwNYlfb48Mtg83er%2F-LtAxWY08lxPNeo8P1Kd%2FDNS_Seeder-world-map.png?alt=media&#x26;token=abd2ef6c-102a-4831-a939-89f2d48b7ecd" alt=""></div>

And, third, the details of each of the nodes connected to Merge’s network is provided. For each node, the following details are presented:

* Location of the node based on its IP address.
* Wallet version the node is using.
* Status of the node.
* The port the node is using to connect.
* Latest block the node has found on the network.
* Last date the node was scanned by DNS Seeder.
* Reliability of the node.
* IP address of the node.

<div align="left"><img src="https://4234687906-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LSVz9GFTMkEWv7Osg-S%2F-LtAvwNYlfb48Mtg83er%2F-LtAxbB4Ihs3AGIi7SYv%2FDNS_Seeder-seeders.png?alt=media&#x26;token=b46715bf-fd1b-4026-baad-61ddbd77cf14" alt=""></div>

## Get DNS Seeder for your coin

Ever wondered why you have to *addnode* IP addresses to your coin’s config file? Why when the chain forks, everyone is looking for new *addnode* IP addresses? It all comes down to your network’s ability to **synchronise** with other nodes on the network to reach **consensus**. DNS Seeder makes sure that such synchronisation is **successfully** made, skipping the need of manually adding *addnode* IP addresses and avoiding the risk of having chain forks.

Merge has a professional development team that helps other projects and teams set-up and manage DNS Seeder for their cryptocurrencies. We provide competitive pricing and quick response to any support issues.

Find out more at: <https://mergebcdg.com/product/dns-seeder>

{% embed url="<https://mergebcdg.com/product/dns-seeder>" %}
