This repository includes the artifacts from the Internet Measurement Conference 2024 paper entitled "Panning for gold.eth: Understanding and Analyzing ENS Domain Dropcatching" by Muhammad Muzammil, Zhengyu Wu, Aruna Balasubramanian, and Nick Nikiforakis (PDF).
-
all-ens-domains/
- Contains all collected Ethereum Name Service (ENS) domains collected for the purpose of our work.
-
get-ens-domains.py
-
This script collects data from the ENS Subgraph using The Graph's API. It retrieves:
- ENS Registrations: Domain registrations, including registration events such as renewals, transfers, and registrant details.
- Domain Events: Ownership changes and other events related to ENS domains (Such as Name Wrapping and subdomains).
- Domain Names: Basic domain information, including names and their creation dates.
-
Requirements
- Python 3.x
requests
andlogging
libraries- GraphQL API Key (update within the script)
-
Running the script:
python3 get-ens-domains.py
-
Output Structure The output consists of JSON files saved in different folders:
- registrations/: Contains all ENS domain registration data.
- domain-events/: Contains events such as new ownership, transfers, and wrapping.
- domains/: Contains domain names and their creation dates.
-
This collection methodology is also applied in our work Typosquatting 3.0: Characterizing Squatting in Blockchain Naming Systems ((PDF)).
If you use this work, please use the next citations:
@inproceedings{muzammil2024expiredens,
title = {{Panning for gold.eth: Understanding and Analyzing ENS Domain Dropcatching}},
author = {Muhammad Muzammil and ZhengYu Wu and Aruna Balasubramanian and Nick Nikiforakis},
booktitle = {Proceedings of the Internet Measurement Conference (IMC)},
year = {2024},
}
@inproceedings{muzammil2024web3typos,
title = {{Typosquatting 3.0: Characterizing Squatting in Blockchain Naming Systems}},
author = {Muhammad Muzammil and ZhengYu Wu and Lalith Harisha and Brian Kondracki and Nick Nikiforakis},
booktitle = {Proceedings of the Symposium on Electronic Crime Research (eCrime)},
year = {2024},
}