The Ultimate Guide to ENS Names

The Ethereum Name Service is one of the most popular projects on Ethereum right now and for good reason. As the website states, “ENS offers a secure & decentralized way to address resources both on and off the blockchain using simple, human-readable names.”

In short, you are able to give your Ethereum (or favorite chain) address a name. This is much like how the traditional web works with DNS. All websites are hosted at an IP address but no one actually puts that in their browser, instead we use names such as amazon.com, not 205.251.242.103 (try it, it works!). The ENS has many great features but I’m going to focus this guide specifically on registering and managing .eth names and their subdomains.

Registering .eth Domain Names

The core functionality of the ENS is registering .eth domains. There are a few important rules to keep in mind when it comes to registering domains on the ENS:

  1. Minimum domain length is 3 characters.

Creating and Managing Domains

Registering a domain is extremely easy using the ENS app. First search for the ENS name that you’d like. If it is not taken (if it is, head over to OpenSea and search for it), you will be presented with this screen.

ENS domain registration

Once here you can click request to register which will trigger a transaction, wait 1 minute and then you can register the name. It’s now yours.

Now that you own a .eth domain, you want to enable all the cool features that it offers. This starts on the domain management screen.

ENS domain management

There is a lot going on so let’s put all of the pieces together:

  • Registrant: can set the controller address, and transfer the registration to someone else. This is the ultimate owner.

Once you set an Ethereum address in the address field, it will resolve in wallets such as MetaMask.

MetaMask support for ENS names

And if you point it to an IPFS hash, you can pull up the domain at ethhub.eth/ or ethhub.eth.link for browsers that don’t resolve ENS names.

Subdomains

Subdomains offer great flexibility for building on top of .eth domains. If you are a company such as Maker and want to issue all your employees maker.eth subdomains, this is very easy to do. This section will cover both creating subdomains on a domain you own and unique ways of allowing others to buy subdomains on a domain you own.

Creating and Managing Subdomains

If you own a .eth domain and simply want to create subdomains for your own use, the easiest way to do this is through the ENS app by clicking on the Subdomains button. This is where you can add new subdomains.

ENS Subdomain Registration

Once subdomains are setup, they act very similar to domains in that the owner can control them and setup records. That means something like eric.ethhub.eth can also resolve to an address and an IPFS website.

ENS Subdomain Manager

Allowing Anyone to Claim Subdomains on your .eth Domain

All of the above is being done by the registrant of the .eth domain. They are the one setting up the subdomains and have ultimate control over them, including being able to revoke them. This is fine for a company or someone that wants full control over the subdomains but what if you want anyone in the world to be able to claim a subdomain on your domain? You obviously don’t want to have to coordinate with them and they won’t want you to be able to revoke access. The good news is there is a solution that easily allows you to open up registration of subdomains on your domain. You can even set a price at which you’d like to sell them.

Doing this starts with turning control of your domain over to the ENS Subdomain Registrar contract. This means that the contract is able to distribute out subdomains to people but you no longer can revoke access to those subdomains. The steps at the moment are fairly manual but also easy. Nick Johnson lays out the steps well in this ENSNow domains post so I’m going to just put them here:

Warning: By doing this, you are permanently giving up use of your domain! You will be able to collect registration fees, change prices, and transfer control to another user — but you will never be able to use your domain for anything else!

  1. Load up the .eth registrar contract. If you are using Etherscan, you will need to click “Connect with Metamask” and authorize the subsequent dialog box from Metamask.

Your domain has now been handed over to the subdomain registrar contract. If you’ve set up a fee, anytime someone registers a subdomain, the funds will be directed to the original owner address. This has now opened up a lot of possibilities!

Listing Your Subdomains on ENSNow

The ENS team has setup a website which allows for claiming of subdomains. If you’d like your subdomains listed here the process is quite easy. Once again Nick has a blog post about the steps and I’m going to put them below:

  1. Go to this page and click ‘fork’ in the top right corner.
ENSNow

Hosting Your Own Subdomain Sale Site

ENSNow is great and easy, but the list of domains supported there is rather long and you cannot specifically brand your own domain. So, if you’d like to setup a site that only lists your domain and allows you to customize it, that is possible as well. A good example of this is a site I’m running called Ethmojis.

The best place to start is on the Subdomain Registrar GitHub page. They have a “getting started” section which tells you how to run it but I’ll try to summarize the steps up as best as I can below

  1. Install node.js and NPM

To host on IPFS, upload the entire build folder and get your content hash. You can then put this content hash in the “records” section of any ENS domain or subdomain! Here’s an example of how it will look:

Buy Ethmojis

Congrats, you are now an expert on the Ethereum Name Service!

Ethereum and DeFi.