PublicResolver
最后更新于
最后更新于
PublicResolver 是一个套公共的、符合 .web3 用户名的标准解析器,允许所有人查询正反向解析记录,允许所有者更新解析记录。
.web3 域名的公共解析器与 ENS 的基本一致,您可以通过以下文档了解公共解析器。
.web3 用户名对查询反向解析记录做了改进,为了解决一些容错性的问题;
在查询反向解析记录时,建议您使用 REVERSE_RECORDS
工具合约的 getNames
来查询用户的反向解析记录;
REVERSE_RECORDS 工具合约有以下特性:
支持批量查询反向解析记录;
支持正反向解析一致性的校验;当正反向解析设置不一致,则反向解析会返回空;
详见:Github CNS ReverseRecords.sol
为了防止正反向解析设置不一致,给普通用户带来困扰,建议您使用REVERSE_RECORDS
工具合约查询用户反向解析记录
具体原因如下(可以不看):
在 ENS 的合约中,是允许正向解析与反向解析设置的不一致的(比如:abc.eth 正向解析是地址 A,但是地址 A 的反向解析可以设置成 qwe.eth),这是合约层的一个特性;
但是在 ENS App 端,这种行为是不被允许的,即正反向解析不能设置的不一致,这是为了防止普通用户错误的使用的一种处理方式。
在 ENS App 端:
必须先设置正向解析(abc.eth -> address A),反向解析的选项列表中才出现 abc.eth 的选项。
将 address A 的反向解析设置为 abc.eth 后,取消 abc.eth -> addressA 的正向解析,在 App 端的反向解析会失效(但合约仍然是生效的),依赖于 SDK 中的方法,并且需要在每个产品端解决。
我们通过提供REVERSE_RECORDS
工具合约,来减少需要通过 SDK 做额外判断的工作;
当用户的正反向解析设置不一致时,REVERSE_RECORDS
的反向解析记录会返回空
故,为了防止正反向解析设置不一致,给普通用户带来困扰,建议您使用REVERSE_RECORDS
工具合约查询用户反向解析记录。