npm 包 @ethereum-waffle/ens 使用教程

阅读时长 5 分钟读完

前言

以太坊域名服务(ENS)是以太坊网络上的去中心化域名解析系统,它将以太坊地址和易记名称相连。ENS 非常适合在以太坊应用中使用,它使得使用以太坊网络的用户可以用类似“example.eth”这样的名字来表示他们的地址,而不是使用字符串一样的以太坊地址。

此时,一个开发者如何在其以太坊应用中使用 ENS?npm 包 @ethereum-waffle/ens 可以帮助开发者在其以太坊应用中使用 ENS,并为其提供一套易于使用的 API。

本文将介绍如何使用 npm 包 @ethereum-waffle/ens,并为读者提供详细的指导意义和示例代码。

步骤

安装 @ethereum-waffle/ens

在终端中输入以下命令:

引入和初始化

在应用的 JavaScript 文件中引入以太坊 Web3.js 和 @ethereum-waffle/ens:

然后,使用以下代码初始化 ENS:

需要将上面的 YOUR_PROJECT_ID 改成您的 Infura 项目 ID

使用 ENS

现在,您已经可以使用 ENS 来解析以太坊地址。以下是您可能要使用的一些功能:

resolveName()

在下面的示例中,我们将解析以太坊地址 “example.eth”:

上面的代码将返回名为 example.eth 的地址。

getName()

反过来,如果您已经知道一个地址,并且想找到与之相关的 ENS 名称,您可以使用以下代码:

owner()

如果您想要查找创建一个 ENS 域名的地址,您可以使用以下代码:

setAddress()

在下面的示例中,我们将设置以太坊地址 “example.eth”:

现在,名为 example.eth 的地址映射到 MY_ADDRESS

setPublicResolver()

在下面的示例中,我们将设置名为 “example.eth” 的 ENS 域名的公共解析器:

完整示例

完整的示例代码如下(将 <YOUR_INFURA_PROJECT_ID> 替换为您的 Infura 项目 ID):

-- -------------------- ---- -------
----- ---- - ----------------
----- - --- - - --------------------------------

----- -------- - --- -------------------------------------------------------------------------------------
----- ---- - --- ---------------
----- --- - --- ----- --------- ----------- -------------------------------------------- ---

-- ----
----- -------- ------------- -
  ----- ------- - ----- -------------------------------
  ---------------------
-

-- ----
----- -------- --------- -
  ----- ---- - ----- ------------------------
  ------------------
-

-- -----
----- -------- ---------- -
  ----- ----- - ----- -------------------------
  -------------------
-

-- ----
----- -------- ------------ -
  ----- ----------------------------- ------------
-

-- -------
----- -------- ------------------- -
  ----- -------------------------------------
-

结论

在本文中,我们介绍了如何使用 npm 包 @ethereum-waffle/ens,以便于您的以太坊应用中方便地使用 ENS。 我们向您展示了如何使用不同的 ENS 功能,包括解决名称、获取名称、获取所有者、设置地址和设置公共解析器。

我们希望,通过阅读本文,您获得了深入了解 ENS 的知识,并且对如何在自己的应用中使用 ENS 有了更多的理解。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5f5207f08250f93ef89003d1

纠错
反馈