ENS has been in use for almost two years. Even though we knew some overall figures such as number of auctions started, ETH locked, we didn’t know much about who is actually obtaining these names and how.
With the help of , we have counted all the registered names under each domain, and here is the list of the 30 domains that have the most subdomains in the Google spreadsheet format ()
I will first break down the result, then will walk through how we managed to come up with these information.
- 1. TLD (top level domain)
- 2. now.ens.domains
- 3. dapps
- 4. interesting use cases
1. TLDs
We all know that “.eth” is currently the de facto standard of ENS domain names, however this result shows that DNSSEC integration is slowly getting the with names such as “.xyz” and “.luxe”. “.xyz” was supported months before “.luxe” but “.luxe” has way more domain names registered. This is the power of top level domain registrars directly integrating with ENS, so that people who obtained an .xyz domain can easily get its connected ENS name. The unfamiliar name “.addr.reverse” is for reverse record which allows you to associate an ENS name with a given address so that dApps can display the ENS name instead of addresses. This indicates that the of reverse registrar is still very low ( less than 1%).
One thing worth mentioning is that 270k under “.eth” does not necessarily represents the number of domains which use ENS name, it’s the list of names owned. To make full use of ENS, you have to set resolver (which is around 50k according to curious giraffe chart I shared early on).
2. Now.ens.domains
Five out of the top 30 domains are obtained via now.ens.domains where you can purchase (or get it for free) subdomains without waiting through an auction period.
With the arrival of , we expect that the role of will decrease though it will remain as one of the cheapest ways to obtain an ENS domain name. In future, we are planning to migrate this functionality into our .
3. Dapps
One of the best ways to integrate ENS into dapps is to issue subdomains. You can see some well known companies name (Status, Gitcoin, Zinc) in this section. I often say that issuing subdomains for your dapp is equivalent to when gmail.com or hotmail.com went by allowing user to advertise their brand by offering unique email address under their brand.
Firefly (a cheap and simple BLE hardware ) is an interesting use-case of selling their subdomains as a way of crowdfunding.
4. Interesting use cases
There are a few other interesting use cases worth mentioning.
The domain “thetoken.eth” was and it lists many major contract addresses as subdomains. I don’t know exactly what “dappcon.eth” was made for but I am guessing that it was issued for participants of the conference.
Under the hood
In this section, I will go a bit deeper into how we got this data in collaboration with .
1. Getting events
As one of the oldest smart contracts running on mainnet, ENS data is often used as example material to analyze for big data companies.
has a public graphQL explorer which allows anyone to create their own GraphQL schema (called subgraph). The graph is great if you want to integrate events information into your app, but GraphQL itself is not suitable for data analytics as you need another layer to aggregate the data and this is where Analyst comes in.
They have already done some heavy work and stored all possible data into their data warehouse so that you can query the result using SQL , which is one of the oldest and most popular data query languages.
Here is the example of query getting the number of domains issued under nodes which you can find from ‘NewOwner’ event.
Thanks to the power of SQL, removing duplicate events can be expressed in one line of “group by” (which is in line 10).
Another huge advantage is that they have analyzed all the events on and pre-indexed them, so as a user you don’t have to specify the contract interface information (aka ABI).
One downside is that this auto detecting of events is not perfect. We identified that issued using custom registrar but the event was not captured (the information was fed back to Analyst so hopefully it will improve soon).
2. Dissecting namehash
When I received the node counts result from Analyst, it was similar to this format.
So how do you figure out which domain is ‘0x93…’ ?
If you are ENS pro, you may have seen “ENS Auctionbots” which tweets to the world when auctions start.
We have over 100 million keyword dictionary in a Google big table and we query against it every time new auction starts. I took advantage of the database and send the list of labels to the query to get the result. Unfortunately, you cannot detect all hashes, hence about 30% of top 30 domains do not have names on the list.
Summary
In this blog post, I have shown the top 30 domains which have issued their subdomains and explained how these domains are created as well as explaining technical details of how we came up with the data.
If you want to know where your favorite domains are ranked you can check the full list . Now that you know what ENS name you are interested, you can namehash by yourself via . (After showing this blog post, did some detective work to identify the 7 unknown names).
Published at Fri, 29 Mar 2019 20:07:06 +0000