# ENS vs DAS

By [block](https://paragraph.com/@block-6) · 2022-03-18

---

ENS
---

The ENS registry is specified in EIP-137 [https://eips.ethereum.org/EIPS/eip-137](https://eips.ethereum.org/EIPS/eip-137)

The ENS registry is specified in EIP-137 [https://eips.ethereum.org/EIPS/eip-137](https://eips.ethereum.org/EIPS/eip-137)

The reverse registrar is specified in [EIP 181](https://eips.ethereum.org/EIPS/eip-181) [https://eips.ethereum.org/EIPS/eip-181](https://eips.ethereum.org/EIPS/eip-181)

*   [EIP 137](https://eips.ethereum.org/EIPS/eip-137) - Contract address interface (`addr()`).
    
*   [EIP 165](https://eips.ethereum.org/EIPS/eip-165) \- Interface Detection (`supportsInterface()`).
    
*   [EIP 181](https://eips.ethereum.org/EIPS/eip-181) - Reverse resolution (`name()`).
    
*   [EIP 205](https://eips.ethereum.org/EIPS/eip-205) - ABI support (`ABI()`).
    
*   [EIP 619](https://github.com/ethereum/EIPs/pull/619) - SECP256k1 public keys (`pubkey()`).
    
*   [EIP 634](https://eips.ethereum.org/EIPS/eip-634) - Text records (`text()`).
    
*   [EIP 1577](https://eips.ethereum.org/EIPS/eip-1577) - Content hash support (`contenthash()`).
    
*   [EIP 2304](https://eips.ethereum.org/EIPS/eip-2304) - Multicoin support (`addr()`).
    

Tld : Top Level Domain 顶级域名

ENS Architecture
----------------

ENS has two principal components: the [registry](https://mirror.xyz/contract-api-reference/ens), and [resolvers](https://mirror.xyz/contract-api-reference/publicresolver).

![](https://storage.googleapis.com/papyrus_images/90fbfc13e97566d2f6ba1f458fac9458796b1ecf8d6bcfd78770cdddef09d9f2.png)

The ENS registry consists of a single smart contract that maintains a list of all domains and subdomains, and stores three critical pieces of information about each:

> *   The owner of the domain
>     
> *   The resolver for the domain
>     
> *   The caching time-to-live for all records under the domain
>     

![](https://storage.googleapis.com/papyrus_images/2a6466688576e90af5c4609a1c1b240f153ee0dc7d8b45e96a79b0eb993ae14d.png)

Getting Started
---------------

ENS has documentation for a variety of audiences, including dapp developers and contract developers, as well as reference documentation.

### I'm a dapp developer and want to add ENS support to my dapp

Check out the dapp developer guide, starting with [ENS Enabling your Dapp](https://mirror.xyz/dapp-developer-guide/ens-enabling-your-dapp). You'll want to choose one of the many available [ENS Libraries](https://mirror.xyz/dapp-developer-guide/ens-libraries) to get started working with ENS.

### I'm a contract developer and want to interact with ENS from my contract code

Check out the Contract Developer Guide, starting with [Resolving Names On-chain](https://mirror.xyz/contract-developer-guide/resolving-names-on-chain). You can also [write your own resolver](https://mirror.xyz/contract-developer-guide/writing-a-resolver) (to customise the process of looking up names), or your own [registrar](https://mirror.xyz/contract-developer-guide/writing-a-registrar) (to customise the process of registering new names).

### I want reference documentation for the ENS smart contracts

Check out the Contract API Reference. We have reference documentation for ENS's core contract, the [registry](https://mirror.xyz/contract-api-reference/ens), for [resolvers](https://mirror.xyz/contract-api-reference/publicresolver), and for commonly-used registrars such as the [Test registrar](https://mirror.xyz/contract-api-reference/testregistrar), [reverse registrar](https://mirror.xyz/contract-api-reference/reverseregistrar), and the [.eth registrar](https://mirror.xyz/contract-api-reference/.eth-permanent-registrar).

---

*Originally published on [block](https://paragraph.com/@block-6/ens-vs-das)*
