Layer 2 & Offchain Resolution
All ENS resolution starts on Ethereum Mainnet (or testnet). However, by leveraging CCIP Read and Wildcard Resolution, name resolution can be taken cross-chain, off-chain, and more. This allows for a lot of flexibility in how you can use your ENS and for storage of your ENS records on your favourite Layer 2, or even off-chain.
In the resolution process, clients first fetch the resolver associated with the name in the ENS registry on L1. That resolver is responsible for telling the client where to find the data associated with the name such as the addresses, text records, etc.
If you want to register and resolve (sub)names from L2, you would write a resolver smart contract that defers resolution to the L2 and ideally verifies that data against the L2's storage proofs posted to L1. This process can be done with the Unruggable Gateway.
An example implementation of Layer 2 resolving is:
Linea was the first L2 team to build a trust-minimized ENS subname system. Names are stored on Linea, verified with storage proofs on L1, and function as ENS subnames such as greg.linea.eth. You can try it out here.
Clave is focused on enhancing user experience and security through a mobile wallet that leverages account abstraction and device hardware. Clave accounts come with usernames that are now stored onchain in ZKsync Era, verified with storage proofs in L1, and issued as ENS subnames such as ulas.clv.eth. You can read more about the implementation here.
The process of setting primary names from L2 is under active development. This doc will be updated as more information becomes available.
Moving resolution processes off-chain offers numerous advantages, including efficiency gains and reduced congestion on the main blockchain; however, it also introduces trade-offs in terms of trust, as it necessitates reliance on external systems. Depending on the implementation, names could be stored in a database or be ephemeral. Advantages of offchain name storage include gaslessness and instant updates. If this sounds appealing consider writing an Offchain Resolver.
Popular implementations of offchain names include but are not limited to:
Coinbase Wallet is one of the largest mobile wallets issuing free ENS subnames to their users. These names are stored off-chain on coinbase servers, and can be registered from the Coinbase Wallet App or Browser Extension. An example of a cb.id is lucemans.cb.id.
Uniswap Wallet is another popular mobile wallet that issues free ENS subnames to their users. You can read more about the Uniswap Wallet ENS integration here. An example of a uni.eth is lucemans.uni.eth.
The Lens Ecosystem is also readily accessible through the officially maintained lens.xyz
gateway.
This means that you can lookup your favourite lens name such as lucemans.lens.xyz and retrieve the information seamlessly.