Listing a Users Names
In a fair bit of cases you might want to show off all names that a user has. Due to the nature of how the ENS Protocol works under the hood this might be a slightly more difficult task. Luckily tooling has been written to accomodate for this and to make it easier.
TODO: Visual Demonstration of name enumeration
Why not all names?
ENS Resolution (read more here) relies on smart-contracts & external logic to resolve from name to address. This means that ahead of time we don't know what names a user has. Notable exceptions include first-layer .eth names, and wrapped names, these are on-chain, and indexable through scanning events on the appropriate contracts. Below you will find APIs for querying these names.
Guidelines
When using one of the methods described below it is generally recommended to allow users to input a name using an input box and to verify it resolves to the correct address upon user-completion.
Alchemy (read more)
The Alchemy platform has provided several endpoints for interacting with ENS names aswell as to query a list of names a user has.
Alchemy ENS
TODO: Code Snippet for the Graph
The Graph (read more)
The ENS Team has worked together closely with the graph to provide the ENS Subgraph. This subgraph indexes ENS name registrations & basic record info for names that are part of the [ETH Registrar]
For more information see why not all names are showing up.
Querying the Subgraph
TODO: Code Snippet for the Graph
Basement.xyz (read more)
Something cool about basement here.
For more information see why not all names are showing up.
Querying Basement
TODO: Code Snippet for the Graph