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.