💡
.Web3 Username DOCS
  • User Tutorial
    • 什么是 .web3 用户名
    • 如何注册 .web3 用户名?
    • 必须要知道关于正向解析和反向解析
  • Dev Tutorial
    • Introduction
    • 💡Quick Start
    • CNS Deployments
    • FAQs
  • Contract API Reference
    • Name Processing
    • Registry
    • ReverseRegistrar
    • PublicResolver
    • .web3 Permanent Registrar
      • Registrar
      • Controller
    • NameWrapper
  • Third Party Intergation
    • CNS-Open-Service
    • Open Service APIs
      • Cns-Backend-API Swagger UI
      • Cns-Backend-API Postman Collection
  • Other
    • Changelog
  • Source Code
    • cns-contracts
    • web3ns.js
    • address-encoder
  • Easy Development
    • 🛠️DApp Integration Demo
    • 🛠️CNS Util Tools
由 GitBook 提供支持
在本页
  1. Contract API Reference

PublicResolver

上一页FAQs下一页.web3 Permanent Registrar

最后更新于2年前

PublicResolver 是一个套公共的、符合 .web3 用户名的标准解析器,允许所有人查询正反向解析记录,允许所有者更新解析记录。

.web3 域名的公共解析器与 ENS 的基本一致,您可以通过以下文档了解公共解析器。

需要注意的是

.web3 用户名对查询反向解析记录做了改进,为了解决一些容错性的问题;

在查询反向解析记录时,建议您使用 REVERSE_RECORDS 工具合约的 getNames 来查询用户的反向解析记录;

  1. 支持批量查询反向解析记录;

  2. 支持正反向解析一致性的校验;当正反向解析设置不一致,则反向解析会返回空;

为了防止正反向解析设置不一致,给普通用户带来困扰,建议您使用REVERSE_RECORDS工具合约查询用户反向解析记录

具体原因如下(可以不看):

在 ENS 的合约中,是允许正向解析与反向解析设置的不一致的(比如:abc.eth 正向解析是地址 A,但是地址 A 的反向解析可以设置成 qwe.eth),这是合约层的一个特性;

但是在 ENS App 端,这种行为是不被允许的,即正反向解析不能设置的不一致,这是为了防止普通用户错误的使用的一种处理方式。

在 ENS App 端:

  1. 必须先设置正向解析(abc.eth -> address A),反向解析的选项列表中才出现 abc.eth 的选项。

  2. 将 address A 的反向解析设置为 abc.eth 后,取消 abc.eth -> addressA 的正向解析,在 App 端的反向解析会失效(但合约仍然是生效的),依赖于 SDK 中的方法,并且需要在每个产品端解决。

我们通过提供REVERSE_RECORDS工具合约,来减少需要通过 SDK 做额外判断的工作;

  • 当用户的正反向解析设置不一致时,REVERSE_RECORDS的反向解析记录会返回空

故,为了防止正反向解析设置不一致,给普通用户带来困扰,建议您使用REVERSE_RECORDS工具合约查询用户反向解析记录。

工具合约有以下特性:

详见:

REVERSE_RECORDS
Github CNS ReverseRecords.sol
PublicResolverENS Documentation
Logo