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.
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()
)
While the PublicResolver
provides a convenient default implementation.
Many versions & variations may exist, and it is therefore not recommended to
hardcode any addresses. To ensure a safe implementation, always use the supportsInterface()
method to check for the existence of a specific interface.
See Interacting with a Resolver for how to do this.
The public resolver supports the notion of a "owner" and "manager".