Skip to content

Conversation

@schmidsi
Copy link
Member

@schmidsi schmidsi commented Oct 30, 2025

First stab at an ENSv2 readiness guide:

  • Overview over libraries
  • Universal Resolver & test
  • CCIP Read & test
  • DNS resolution
  • Multichain considerations

schmidsi and others added 6 commits October 30, 2025 19:43
- Fix grammar: "just update" → "just updating"
- Replace "according" with "appropriate" for better clarity
- Fix typo: "will introduction" → "will introduce"
- Fix grammar: "an integrations" → "an integration"
- Fix localhost URL to use relative path

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Add context about ENSv2 and Namechain as primary L2
- Convert formal tone to conversational "you" style throughout
- Break complex sentences into shorter, punchier ones
- Change passive voice to active voice
- Rename generic "Test" headers to descriptive ones
- Clarify that supported libraries handle everything automatically
- Position technical sections as educational rather than required steps
- Fix CCIP Read link

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Explain importance of detecting DNS names alongside .eth names
- Show common mistake: regex that only matches .eth domains
- Provide correct regex pattern for matching all valid domains
- Add info callout recommending library use over custom regex
- Include real examples: ensfairy.xyz and ses.fkey.id
- Link to DNS integration documentation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Oct 30, 2025

Deploying ens-docs with  Cloudflare Pages  Cloudflare Pages

Latest commit: d955ae9
Status: ✅  Deploy successful!
Preview URL: https://1239feea.docs-bao.pages.dev
Branch Preview URL: https://ensv2-readyness.docs-bao.pages.dev

View logs

@schmidsi schmidsi changed the title ENSv2 readyness guide ENSv2 readiness guide Oct 30, 2025
@schmidsi schmidsi requested a review from gskril October 30, 2025 23:24
@schmidsi schmidsi marked this pull request as ready for review October 30, 2025 23:24

## Universal Resolver

Even though ENSv2 supports multi-chain, all resolution starts on Ethereum Mainnet. ENS deployed a [new Universal Resolver](https://eth.blockscout.com/address/0xeEeEEEeE14D718C2B47D9923Deab1335E144EeEe) that acts as the canonical entry point. This resolver can be updated in the future if needed.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Even though ENSv2 supports multi-chain, all resolution starts on Ethereum Mainnet. ENS deployed a [new Universal Resolver](https://eth.blockscout.com/address/0xeEeEEEeE14D718C2B47D9923Deab1335E144EeEe) that acts as the canonical entry point. This resolver can be updated in the future if needed.

The reason the 0xeEeEE... version is a proxy contract controlled by the DAO is to hopefully never require an update again, so we probably shouldn't say this.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My intention was to explain exactly this: That this is a proxy contract that will be updated (not redeployed) for ENSv2. Maybe this can be more explicit like:

"ENS deployed a new Universal Resolver that acts as the canonical entry point. This is a proxy contract, so this address won't change in the future if the implementation is changed."


Even though ENSv2 supports multi-chain, all resolution starts on Ethereum Mainnet. ENS deployed a [new Universal Resolver](https://eth.blockscout.com/address/0xeEeEEEeE14D718C2B47D9923Deab1335E144EeEe) that acts as the canonical entry point. This resolver can be updated in the future if needed.

Your application needs to use this new Universal Resolver. As mentioned above, updating to the latest version of your library should handle this automatically.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Your application needs to use this new Universal Resolver. As mentioned above, updating to the latest version of your library should handle this automatically.
As mentioned above, updating to the latest version of your web3 library should handle this automatically.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it is important to re-emphasize that they need to update to the latest universal resolver.


Your application needs to use this new Universal Resolver. As mentioned above, updating to the latest version of your library should handle this automatically.

Learn more about the [Universal Resolver here](/resolvers/universal) and about the [resolution process in general here](/resolution).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Learn more about the [Universal Resolver here](/resolvers/universal) and about the [resolution process in general here](/resolution).

Explained above

schmidsi and others added 6 commits November 3, 2025 10:01
Co-authored-by: Greg <35093316+gskril@users.noreply.github.com>
Co-authored-by: Greg <35093316+gskril@users.noreply.github.com>
Co-authored-by: Greg <35093316+gskril@users.noreply.github.com>
Co-authored-by: Greg <35093316+gskril@users.noreply.github.com>
Co-authored-by: Greg <35093316+gskril@users.noreply.github.com>
Co-authored-by: Greg <35093316+gskril@users.noreply.github.com>
- ethers.js: Not published yet. [Work in progress on v6.16.0](https://github.com/ethers-io/ethers.js/tree/wip-v6.16.0-ens)
- web3.js: Deprecated

If you're using a supported library, it should handle everything automatically. The sections below explain what's happening under the hood and how to test that your integration is working correctly:
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Make it more clear that usually people don't need to read further


ENS supports importing DNS names into ENS, allowing traditional domain names to work alongside .eth names. It's important that your application correctly also detects DNS names to avoid false positives.

### Common Mistake: Only Matching .eth
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add some examples: emoji, ...

- `.eth` names like `vitalik.eth`
- DNS names like `ensfairy.xyz`
- Subdomains like `ses.fkey.id`

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also add emoji name example

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants