getEnsResolver
Gets resolver for ENS name.
Calls findResolver(bytes)
on ENS Universal Resolver Contract to retrieve the resolver of an ENS name.
Usage
ts
import { normalize } from 'viem/ens'
import { publicClient } from './client'
const resolverAddress = await publicClient.getEnsResolver({
name: normalize('wevm.eth'),
})
// '0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41'
import { normalize } from 'viem/ens'
import { publicClient } from './client'
const resolverAddress = await publicClient.getEnsResolver({
name: normalize('wevm.eth'),
})
// '0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41'
ts
import { createPublicClient, http } from 'viem'
import { mainnet } from 'viem/chains'
export const publicClient = createPublicClient({
chain: mainnet,
transport: http(),
})
import { createPublicClient, http } from 'viem'
import { mainnet } from 'viem/chains'
export const publicClient = createPublicClient({
chain: mainnet,
transport: http(),
})
WARNING
Since ENS names prohibit certain forbidden characters (e.g. underscore) and have other validation rules, you likely want to normalize ENS names with UTS-46 normalization before passing them to getEnsResolver
. You can use the built-in normalize
function for this.
Returns
The address of the resolver.
Parameters
name
- Type:
string
Name to get the address for.
ts
const ensName = await publicClient.getEnsResolver({
name: normalize('wevm.eth'),
})
const ensName = await publicClient.getEnsResolver({
name: normalize('wevm.eth'),
})
blockNumber (optional)
- Type:
number
The block number to perform the read against.
ts
const ensName = await publicClient.getEnsResolver({
name: normalize('wevm.eth'),
blockNumber: 15121123n,
})
const ensName = await publicClient.getEnsResolver({
name: normalize('wevm.eth'),
blockNumber: 15121123n,
})
blockTag (optional)
- Type:
'latest' | 'earliest' | 'pending' | 'safe' | 'finalized'
- Default:
'latest'
The block tag to perform the read against.
ts
const ensName = await publicClient.getEnsResolver({
name: normalize('wevm.eth'),
blockTag: 'safe',
})
const ensName = await publicClient.getEnsResolver({
name: normalize('wevm.eth'),
blockTag: 'safe',
})
universalResolverAddress (optional)
- Type:
Address
- Default:
client.chain.contracts.ensUniversalResolver.address
Address of ENS Universal Resolver Contract.
ts
const ensName = await publicClient.getEnsResolver({
name: normalize('wevm.eth'),
universalResolverAddress: '0x74E20Bd2A1fE0cdbe45b9A1d89cb7e0a45b36376',
})
const ensName = await publicClient.getEnsResolver({
name: normalize('wevm.eth'),
universalResolverAddress: '0x74E20Bd2A1fE0cdbe45b9A1d89cb7e0a45b36376',
})