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.
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.
ENSv2 Contracts
Start with the ENSv2 overview for the architecture and how these contracts fit together.
Source Code
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.