For this step-by-step instruction, we will be using MyEtherWallet, as they provide a fairly easy interface to interact with ENS.

Step 1: Navigate and login into MyEtherWallet

Here, it’s up to you to decide if you want to use MyEtherWallet provided wallet, their Metamask integration, or even their hard-wallet integration.

Step 2: Open MyEtherWallet Dapps, and navigate to “Register ENS”

When you go into the dApps screen, you should be able to see 3 options: Register ENS, Subdomains, SafeSend ETH Transaction.

Step 3: Input and check the name you would like to get

Much like with a normal domain, if it is already taken you won’t be able to buy it. So give it a check!

Step 4: Click “Check Domain”, and bid for your domain name

If the domain is not taken, you should be able to see the following window:

Step 5: Select the amount you wish to bid for

This is where things start to get a bit tricky. Right now, in order to buy a .eth domain, users need to go through a 5-day Vickrey styled auction process. There’s a couple of reasons for that, but the important part to remember here is that this is a 3-step auction:

On the first step to bid for a new, you just need to place your bid — this bid is kept secret for 3 days, and only you know about it Reveal your bid — after the 3-day period, you have 2 days to reveal your bid, or else you won’t get the name you’re trying to buy Boom! After the second step 2-day period, and if no one else bid an amount above yours, you should get your name!

Assuming that the name that you pick is not sought-after, you can probably keep the default values on the “Actual Bid Amount”, and “Bid Mask” fields.

After that, press “Next”.

Step 6: Submit your bid

The second screen when submitting a bid should look like what you see below. As you can see from the message give by MyEtherWallet, you should save this information or else you won’t be able to claim your name during the bid reveal process. So before submitting the transaction, “Print” these details and make sure you remember where you put them!

After that, click “Submit”, accept the transaction, and that should be it! You have now successfully placed a bid for an ENS domain name (I recommend that you set a reminder for 3 days from now, so you won’t forget to reveal your bid). If you want to confirm that the transaction was successful, check it on etherscan, and you should see something like this:

If you go back to the Register ENS screen and search for the name you bid for, you should see the following:

Now we wait…

Step 7: Reveal your bid

After the 3-day period, you have 2 days to reveal your bid, or else you won’t get the name you’re trying to buy (that’s where the reminder I mentioned above comes in handy).

Navigate to the Register ENS page again and search for the domain you bid against. Fill in the “Secret Phrase” field from before, and click “Next”.

On the following screen confirm the information, and click “Submit”. After the transaction is confirmed, you should have successfully revealed your bid. The transaction should look something like this:

Now we wait, again, for 2 days…

Step 8: M-A-G-I-C!

After the 2 days, and assuming you’ve taken all of the correct steps, you should now be the proud “owner” of an ENS Domain!

I say “owner”, because it’s a bit more complicated than that: you actually own the deed that controls the domain, so you still need to set up the domain ownership. In order to verify that you actually own this so-called deed, go back to the Register ENS page, search for your domain, and under “Highest Bidder (Deed Owner)” you should see your account address. In my case, I see this:

Also, make sure to copy and keep the values for “Labelhash” and “Namehash” somewhere, you’ll need this for later.

Onward to the next step!

Step 9: Setting the domain ownership

From this point on, it will get a tiny bit more complicated. MyEtherWallet no longer provides a super-user-friendly interface, but it’s still fairly simple to navigate.

So, on the main page of MyEtherWallet, on the left side go to “Contract”, then “Interact with contract”.

On the drop-down in the new window, select “ENS: Eth Registrar” and click “Continue”.

In the new page, select “transfer” from the dropdown menu, paste the previously copied “Labelhash” value in the “_hash” field, and your address in the “NewOwner” field, and click “Write”.

Step 10: Verify ownership

You should now own both the deed and the actual domain. To verify the latest, go back to “Contract”, then “Interact with contract”, and on the drop-down in the new window, select “ENS: Registry” and click “Continue”.

On the new window, select “owner” from the dropdown menu, paste the “Namehash” value into the “Node” field and click “Read”. The resulting address being shown should be the one you set up in the previous step when transferring ownership — your address.

You can also verify this by going back to the “Dapps — Register ENS” screen, and searching for your domain. The field “Owner” should now show your address.

Step 11: Set up a resolver

In order for requests to your domain name to be translated to your address, a resolver needs to be set-up. No need to going into the depths of what this is, and how it works, but if you want to know more you can start by reading this definition of a DNS resolver.

Navigate back to the“Contract — Interact with contract” and then to “ENS: Registry” page. On the dropdown menu select “setResolver”. Fill in the “Node” filed with the “Namehash” value, and the “Resolver” field with “0x5FfC014343cd971B7eb70732021E26C35B744cc4” — you can follow this link if you want to see where I got this address. Then click “Write”.

Step 12: Verify Resolver

Just a quick last check to confirm the resolver is ok. Go back to the“Contract — Interact with contract” and then to “ENS: Registry” page. On the dropdown menu select “resolver”. Fill in the “Node” filed with the “Namehash” value and press “Read”. The “Resolver” value should be the address you used on the previous step.

Step 13: Point domain to your address

Up until now, all that we did was mostly housekeeping. In order to have a useful domain, there’s still at least one last step to take, which is associating your domain to your address.

That way people can send Ether to you by using the domain name and not the lengthy, unreadable, string of characters that you normally see. Quick note: this can only be done if users have an ENS Domain enabled wallet — i.e. Metamask.

Ok, so go back to the “Contract — Interact with contract” page. Select “ENS: Public Resolver” from the dropdown. In the next screen, navigate to “setAddr”, fill in the “Node” field with the “Namehash” value, and the “Addr” field with your wallet address. Click “Write”.