You can use our NNS Adapters to use existing api from viem or ethers without writing new code. Just change ensRegistry
and ensUniversalResolver
in your library config and you're ready to go
Copy export const monadDevnet = defineChain({
id: 41454,
name: 'Monad Devnet',
nativeCurrency: {
decimals: 18,
name: 'Monad',
symbol: 'MON',
},
rpcUrls: {
default: {
http: [...],
},
},
contracts: {
ensRegistry: {
// NNS Adapter
address: '0x...',
},
ensUniversalResolver: {
// NNS Universal Resolver Adapter
address: '0x...',
},
},
})
const client = createPublicClient({
chain: monadDevnet,
transport: http(),
})
async function main() {
const ensAddress = await client.getEnsAddress({
name: normalize('test.nad'),
})
const avatar = await client.getEnsAvatar({
name: normalize('test.nad'),
})
const ensName = await client.getEnsName({
address: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',
})
const resolver = await client.getEnsResolver({
name: normalize('test.nad'),
})
const avatarStr = await client.getEnsText({
name: normalize('test.nad'),
key: 'avatar',
})
console.log(ensAddress)
console.log(avatar)
console.log(ensName)
console.log(avatarStr)
console.log(resolver)
}