@ens:resolver
Resolver contract address of an ENS name.
On-chain (@ens:resolver!): Mainnet only, since an assertion reads the chain it runs on, and a name with no resolver reads as the zero address.
Returns: address
Syntax
Section titled “Syntax”@ens:resolver(name)Arguments
Section titled “Arguments”| Name | Type | Description |
|---|---|---|
name | string | ENS name (e.g. vitalik.eth) |
Examples
Section titled “Examples”# Get the resolver of a nameset $resolver @ens:resolver("vitalik.eth")print $resolverSee Also
Section titled “See Also”On-chain face (@ens:resolver!)
Section titled “On-chain face (@ens:resolver!)”Mainnet only. An assertion is judged on the chain it runs on, and there is no way to reach the ENS registry from another chain, so the on-chain face refuses at composition time rather than staticcalling an address with no code and reverting opaquely later.
Sepolia is refused too, deliberately. The plain face resolves against mainnet
through a dedicated client, so a sepolia registry would answer about a
DIFFERENT namespace: @ens:resolver and @ens:resolver! would return two unrelated
answers and both would look right. Off mainnet, use the plain face — it
resolves at composition time and is not restricted by the executing chain.
- A name with no resolver set reads as the zero address. The plain face throws instead.