在 DApp 中启用 ENS
在应用程序中支持ENS需要实现几个关键功能,每个功能都可以独立实现。理想的情况是支持ENS的全部功能,但即使只支持最基本的功能也会让用户从中获益匪浅。下面的文章中,我们概述了支持ENS的三个层级。第一层级很容易实现,并且是ENS提供给用户的主要功能,而第二层级和第三层级可为用户提供更多的功能,有助于提高DApp的可用性和用户与DApp交互的体验。
1. ENS域名解析
在应用程序中支持ENS的第一步是使应用程序理解ENS域名,并实现在那些用来输入接收地址的地方也可以输入ENS域名。要了解如何做到这一点,请参阅域名解析。
当用户输入ENS域名而不是地址时,最好让应用程序记住ENS域名,而不是这个域名解析到的地址。这样用户在更新自己的ENS域名后,他们用这个域名登录的应用就会自动解析到用户的新地址。同样的道理,如果你访问的网站更换了服务器IP地址,你肯定是希望浏览器把你带到这个网站的新IP地址上。
如果你的应用程序需要处理用户的资产等关键资源,你可能希望跟踪域名解析到的地址,并在地址更改时提示用户,以确认用户知道地址的变化。
你的应用程序支持ENS域名以后,就不需要用户复制粘贴或是直接输入冗长晦涩的以太坊地址。尤其是直接输入以太坊地址,很容易导致输入错误和资产损失。
2. 支持反向解析
支持ENS的第二个层级是指:在程序中本来显示地址的地方可以显示出对应的ENS域名。
如果用户在你的DApp中输入了ENS,你应该保存这个域名,并将这个域名显示在那些本来要向用户显示地址的地方。
如果用户输入了一个地址,或是从其他地方收到一个地址,你可以通过执行反向解析来显示ENS域名。反向解析支持查询地址的规范化域名,并在需要时显示该域名。如果查询不到对应的规范化域名,那应用程序可以像原来那样直接显示地址。
通过支持反向解析,可以使用户更容易地识别与他们进行交互的帐户,并将这些账户与可读且相对短小的域名关联起来,而不是让用户面对冗长晦涩的以太坊地址。
3. 让用户自定义域名
全面支持ENS的最后一步是促进ENS域名与应用程序内置资源之间的关联。这可以通过两种形式来实现:
域名注册
先给你的产品绑定ENS域名并允许用户轻松地注册子域名,通过这种方式可以为用户提供一种简单的命名方法,用来命名那些在你的DApp中创建的资源。例如,假设你的DApp是一个加密货币钱包,你可以让用户轻松地获得一个形如 theirname.yourwallet.eth 的ENS域名,使用户更容易把自己的钱包名告诉别人。
要了解如何实现这项功能,请参阅在"智能合约开发者指南"部分中的"编写一个注册中心"一文。
域名更新
通过为用户提供一种简便的域名更新方式,以便他们将自己的域名更新并指向你的DApp内的资源。要了解如何实现这项功能请参阅域名管理。
将支持ENS的应用告诉我们
如果你的应用程序已经支持使用ENS,请通过电子邮件nick@ens.domains告诉我们;我们会把你的应用程序添加到我们的主页。