EthDNS and EthLink

What is EthDNS?

EthDNS is a way to access information in the Ethereum Name Service (ENS) from DNS.

EthLink is EthDNS for the .eth domain. Because .eth is not a registered DNS top-level domain it is normally inaccessible from
DNS, but by appending .link to the domain the relevant information cam be obtained. For example, a DNS A record request for mydomain.eth.link would look up the A records in ENS for mydomain.eth.

What information can be accessed from EthDNS?

DNS information held in ENS can be accessed in exactly the same way as traditional DNS.

How does EthDNS work with IPFS?

ENS has a contenthash field which contains a pointer to content somewhere on the internet, most commonly in IPFS. If EthDNS is asked to serve a domain with a contenthash it will carry out the following operations:

For example:

$ host -t A wealdtech.eth.link
wealdtech.eth.link has address 35.241.8.114
$ host -t TXT wealdtech.eth.link
wealdtech.eth.link descriptive text "dnslink=/ipfs/QmP3ouCnU8NNLsW6261pAx2pNLV2E4dQoisB1sgda12Act"
wealdtech.eth.link descriptive text "contenthash=0xe301017012200a8b34b25425eb99c7a5c08df2db3cf3f1eb69a793db4b3d8c3f0c6bb59976ad"

The practical upshot of this is that if a user enters the URL https://wealdtech.eth.link/ in to their web browser it will return IPFS content based on the information within ENS without any changes required to their system (browser plugins, alternate DNS servers, etc.).

How do I add a content hash to my domain?

Content hashes can be managed at https://manager.ens.domains/

There are also various libraries and CLI tools that can manage content hashes.

How do I add DNS information to my domain?

There are various libraries and CLI tools that can manage DNS information on ENS.

Are domains other than .eth supported?

EthLink only applies to .eth domains, however other domains registered in ENS can be accessed directly when enabled.

How do I enable ENS-based resolution of my DNS information?

Enabling ENS-based resolution is a simple case of using the EthLink Use the following hosts as your NS servers:

ns1.ethdns.xyz
ns2.ethdns.xyz
ns3.ethdns.xyz

Further reading

The basic workings of EthDNS, the system that enables DNS records on ENS.

Details of how DNSLink records are handled by IPFS gateways.

Details of how to claim your DNS domain on ENS.