Skip to content

Public Resolver

The public resolver is a general-purpose ENS resolver that is suitable for most user needs. It permits the owner of a name to update their records, includes permissions, and stores its data on layer-1 ethereum.

Most ENS names registered through the ENS Manager will use the latest version of the public resolver by default. Names that resolve to a supported public resolver are editable from within the ENS Manager.

If you'd like to take a peek under the hood you can view the public resolver source code on GitHub.

Features

The public resolver supports the following features:

  • EIP-137 - Contract address interface (addr())
  • EIP-165 - Interface Detection (supportsInterface())
  • EIP-181 - Reverse Resolution (name())
  • EIP-205 - ABI Resolution for contracts (ABI())
  • EIP-619 - SECP256k1 public keys (pubkey())
  • EIP-634 - Text records (text())
  • EIP-1577 - Content hash resolution (contenthash())
  • EIP-2304 - Multicoin support (addr())
  • ENSIP-19 - Default EVM address resolution

Default EVM Address Resolution

The latest public resolver supports the notion of a "default EVM address" for a name, represented by coinType 0. If this is set, it will be returned by the addr(bytes32 node, uint256 coinType) function regardless of the coinType parameter, unless overridden by a more specific address.

This pairs nicely with the default reverse registrar when dealing with L2 primary names.