Terminology
This page contains a glossary of terms used in the ENS documentation.
An ENS identifier such as 'alice.eth'. Names may consist of multiple parts, called labels, separated by dots. This also includes DNS names like name.xyz
, or subnames like sub.name.eth
.
Second-level domain.
This refers to a subname/subdomain of a top-level domain.
For example, name.eth
and name.com
are both second-level names.
A subname of a 2LD is a third-level domain or 3LD.
A child name like sub.name.eth
, whose parent is name.eth
. Also referred to as a "subdomain". Every name (except for the root node) has a parent. For example, name.eth
is a subname of eth
.
vault.luc.eth
Top-level domain. This refers to names like eth
, com
, xyz
which lie at the "top" of the naming hierarchy.
.eth .com .xyz
The account that may edit the records of a name. The Controller may be changed by the Registrant or Controller.
An individual component of a name, such as 'alice'.
The keccak256 hash of an individual label.
The algorithm used to process an ENS name and return a cryptographic hash uniquely identifying that name. Namehash takes a name as input and produces a node.
A cryptographic hash uniquely identifying a name.
The owner of a name is the entity referenced in the ENS registry's owner field. An owner may transfer ownership, set a resolver or TTL, and create or reassign subdomains.
A piece of information that an ENS name "resolves" to (points to). The most common record is the ETH Address record, which determines what ETH 0x address an ENS name points to.
A registration is a registrar's record of a user's ownership of a name. This is distinct from the owner field in the Registry; registrations are maintained in the registrar contract and additionally store information on expiry date, fees paid, etc.
A registrar is a contract responsible for allocating subdomains. Registrars can be configured at any level of ENS, and are pointed to by the owner field of the registry.
The owner of a registration. The registrant may transfer the registration, set the Controller, and reclaim ownership of the name in the registry if required.
The core contract of ENS, the registry maintains a mapping from domain name (at any level - x, y.x, z.y.x etc) to owner, resolver, and time-to-live. All lookups start with the Registry.
The date and time at which an ENS name expires. The implications of expiration depend on the type of name it is. When a .eth 2LD expires (and its grace period elapses), then you lose ownership of the name. When a wrapped subname expires, you may or may not lose ownership, depending on whether the name was emancipated.
This is a short window of time after an ENS .eth name expires, in which the owner can still renew and retain the name. Currently this window is 90 days.
Stands for "Time To Live". This is a field in the core registry that can be set alongside the resolver. It can be used as a hint for clients to decide how long to cache resolved data.
This is the Domain Name Service used by the internet to resolve addresses and other records from human-readable names. ENS aims to be fully complementary and compatible with DNS, and supports easy importing of DNS names via a special DNSSEC registrar.
Stands for Domain Name System Security Extensions. When a particular DNS TLD supports DNSSEC, then the owners of names can cryptographically sign records. This allows ENS to support easy importing of DNS names into the ENS registry, as the owner of the DNS name can prove ownership with those signed records.
A resolver is a contract that maps from name to the resource (e.g., cryptocurrency addresses, content hash, etc). Resolvers are pointed to by the resolver field of the registry.
This refers to a resolver that supports ENSIP-10. This scheme allows clients to resolve data for subnames that either don't have a resolver of their own, or subnames that may not even exist on-chain at all. For offchain names, this is typically used in conjunction with CCIP Read.
This is a standard resolver contract implementation written by ENS Labs. It supports all record types and anyone can use it. This is the default resolver used when registering a new name via the official manager app.
This term is typically used with respect to the Ethereum Mainnet blockchain. If data is not posted to the chain via an actual Ethereum Mainnet transaction, then it is "offchain". ENS names can also be offchain. For example names can use a special resolver to resolve records for subnames that don't exist on-chain in the Registry. This is also typically done with CCIP Read.
The "Cross Chain Interoperability Protocol Read" specification, also known as EIP-3668, authored by Nick Johnson, is a specification that allows for secure and trustless offchain data retrieval.
It allows for an Ethereum call to defer to an offchain gateway and then securely verify the resulting data on-chain. With respect to ENS, this is typically used for offchain subnames that don't exist in the core Registry.
The ENS name that you want a particular ETH account to be associated with. When set, it will be displayed instead of your 0x address on integrating websites/apps. This is also often referred to as the "reverse record".
A node in the Registry that can be claimed for any Ethereum account. The name this node represents is [addr].addr.reverse
, where [addr]
is the Ethereum public address (lowercase, without the "0x"). These reverse nodes are typically used to set a Primary Name for an account.
Usually, this is referring to the Primary Name. Technically speaking, a Reverse Node can have multiple records set on it, the same as any node.
The ENS Name Wrapper is a contract for ENS that allows you to "wrap" any ENS name into a ERC-1155 NFT. This includes not only .eth 2LDs like name.eth
, but also DNS names like name.xyz
, or subnames like sub.name.eth
.
The technical term for a specific "permission" bit for a wrapped name. As the name implies, once that bit is flipped on, the fuse is burnt and cannot be unburnt (unless the name expires).
An indexed collection of data using TheGraph protocol. In this documentation portal, "the subgraph" usually refers to the official ENS subgraph maintained by ENS Labs. This is a useful offchain service that allows clients to query for information about names or accounts.