Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Smart Contracts

The Ethereum Name Service is made up of a set of smart contracts. These smart contracts are responsible for storing and managing information associated with names.

Resolution

The resolution process outlines how a name is resolved. This includes the process of finding a resolver, and then using that resolver to fetch information about a name.

Resolution ProcessThe resolution process

Resolvers

Every name has a resolver, responsible for fetching information about a name, such as address, avatar, and more. Resolvers allow for programmatic control over the information associated with a name, implemented in solidity.

For ENSv2, use or extend the Permissioned Resolver. The ENSv1 Public Resolver remains a reference for unmigrated names. You can also write your own resolver.

Resolvers Quickstart

ENSv2 Contracts

Start with the ENSv2 overview for the architecture and how these contracts fit together.

Source Code

ensdomains/contracts-v2

ENSv2 contracts, deployments, and tests

ENSv1 Contracts

These pages document the legacy contracts. New .eth registrations use the ENSv2 ETH Registrar.

Source Code

The code for the ENS Smart Contracts as well as information around the latest deploys, tests, and more can be found on github.

ensdomains/ens-contracts

Ethereum Name Service Contracts