A step by step guide to buying ENS domains on testnets
Like any sane blockchain developer, let’s start by going through the process on the testnet. I would also highly recommend reading the whole article before you actually start.
Don’t know the fundamentals? Check out this short video explaining the basics.
Note: This was written before the permanent registrar was released. There will be another article about the mainnet process. The testnet process has not changed.
Testnets
Step 1: Checking name availability.
Head over to the ENS domain manager. You should land here.
Check that your network is a suitable test net (Rinkeby, Robsten or Goerli). A side note, the whole process is a little sketchy on Rinkeby, so if you can use a different network, do so.
You can change the network you are on with Metamask. To change your network, open metamask on the ENS manager page, select the drop-down (pointed to in purple) and then select an appropriate testnet (the ticked ones).
On tests nets, enter the name of the domain you want, followed by .test
. On Robsten and Goerli you can get .eth
domains (to test out the mainnet registration process).
Step 2: “Buying” the domain
If your domain is available you should be redirected to the page below. A few things to take note of, the underlined network (just to be extra sure you are on the right network). Then there is a little notice pointed to, in case you can’t read it there it says:
Note:
.test
domain allows anyone to claim an unused name for test purposes, which expires after 28 days
The above also applies to .eth
domains bought on testnets.
It’s cut off in the screenshot above, but there should be a blue claim button somewhere on the right. This will make the wallet you currently have unlocked in Metamask the proud owner of a .test
domain! Clicking the Claim should trigger a transaction. triggering Metamask to pop up asking for approval.
Your transaction might take a while to mine, so be patient. The page will automatically update when it is mined, but if it makes you feel better you can keep hitting F5
till it changes. When it does change it should look like this:
Step 3: Setting up your domain
Now you own a domain, its time to set it up. You should notice that the resolver address is blank. The resolver will allow dApps to resolve your domain names. Not sure what that means? Check out this super short video I made explaining the basics.
To get the resolver address on testnets (not Robsten sadly) you can get the address by looking up the address of resolver.eth
. If on your chosen testnet that address is empty, a quick google should sort you out. Or (if it works on your testnet) by clicking the “User Public Resolver”.
Right now let’s save it! This should also trigger a transaction and Metamask.
Once you have set the address of your resolver, we need to set the first record. The address you put in will be the address the ENS domain name will resolve to. Once the record is added it will ask you to set the reverse record, go ahead and save that. If you are on Rinkeby, I have never been able to get to this step using this dashboard.
Note: if you are setting this address to the address of a contract, the contract will not be able to create new subdomains or do any owner only functionality. If you want to check which functions are owner only (or what functions there are in general as well as an implemented example of a dApp using ENS) head over to my Simple Bank With ENS repo. Or once you are done with setting the domain up you can transfer ownership to the contract.
Step 4: Subdomains
On the top bar, there is a slider that goes from details to subdomains. We want to slide that. When you add a subdomain, you only need to add the actual name you want, not the whole domain again (it will stop you if you try anyway). To enable your dApp to make subdomains, see implementing ENS in your dApp.
And that’s a wrap, onto mainnet!
Mainnet
I was halfway through bidding for a mainnet domain when ENS released their permanent registrar. When they did this pretty much all the tooling for the previous registrar absolutely 💩 themselves. So this section will be updated/linked once all the tools are pointing to the new registrar. These steps for name availability are still valid 😅.
Step 1: Checking name availability.
Head to this website. Its where the listing of names available to buy and sell are. Search your name. If the name you want is taken it will give you the option to “Solicit now”. This will let you bid for the name. Otherwise, it should look like below:
You can also check name availability on My Ether Wallet, and you might as well because you are going to have to do the rest of the process on My Ether wallet. If you have a MEW wallet then you are set, otherwise, head here and make one. Then head over to the Dapps tab on the left, it should look like this:
Click ENS manager. Then search your name. If it's not available it will just give you information about the domain. Otherwise, it should look like this:
For the next step: How to buy ENS domain on mainnet.
Endnote: If you want to get updates on what the next tool I’m covering is, or if you just want to connect, hmu on twitter. Shout out to @nicksdjohnson for answering my questions and pointing out cool extra tidbits. 🙏