ENS 域名+IPFS(以太坊域名服务)指南
[](https://res.cloudinary.com/practicaldev/image/fetch/s--zB0nx0Y3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://fleek-team-bucket. storage.fleek.co/thumbnails-blog/ENS%2520-%2520Introd
[](https://res.cloudinary.com/practicaldev/image/fetch/s--zB0nx0Y3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://fleek-team-bucket. storage.fleek.co/thumbnails-blog/ENS%2520-%2520Introduction%2520Guide.jpg)
ENS(Ethereum Name Service)域,就像名称所暗示的那样,是基于以太坊的分散式命名系统替代 DNS(域名系统)。
两者都执行相同的基本任务。 它们是查找系统,它使用域名来映射和引用复杂地址。不同之处在于,虽然 DNS 使用域名来翻译网站的底层 IP 地址,但 ENS 使用 .eth 后缀域名来引用Ethereum地址或任何其他难以记住的资源,例如 IPFS 文件哈希或 Tor .onion 地址!
例如,您可以将其替换为更熟悉、更容易记住的 ENS 域名,例如 mywallet.eth,而不是回忆一个 42 个字符的十六进制 ETH 钱包地址,任何人都可以更轻松地通过兼容 ENS 的钱包进行转账,而无需输入完整的十六进制地址。
但是,ENS 域名不仅仅是制作令人难忘的钱包地址,或者在旅途中访问您最喜欢的 IPFS 托管图片。
ENS 为网站、Dapps 和更多 Dweb 资源/服务打开了大门,使它们可以通过分散、抗审查和用户控制的域命名系统访问。
与由中央机构处理的 DNS 不同,ENS 存在于以太坊区块链上的智能合约上,并且具有抗审查性。
让我们概述一下 ENS 域是什么,它们为何重要,以及如何为您的 IPFS 站点购买和使用它们。
您将在本文中学到什么:
-
什么是以太坊名称服务 (ENS)?
-
如何购买ENS域名并注册?
-
如何使用 Fleek 将您的 ENS 域链接到 IPFS 站点。
什么是以太坊名称服务 (ENS)?
[](https://res.cloudinary.com/practicaldev/image/fetch/s--2N4BPdMp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://fleek-team-bucket。 storage.fleek.co/Blog%2520Inline/ENS%2520Domains.png)
ENS 是一个开源、分布式和社区拥有的命名系统,位于以太坊区块链中。它于 2017 年初在以太坊基金会开发,最初由开发人员 Nick Johnson 和 Alex Van de Sande 提出并创建。
ENS 的核心由两个主要部分组成。 首先,ENS 注册表,它存在于运行在以太坊区块链上的智能合约中,并记录所有域和子域,详细说明所有记录的所有者、解析器和缓存 TTL(生存时间)在那个域下。
第二个关键部分是解析器,它们是负责将 ENS 域名转换为底层引用地址或哈希的参与者。这些也是区块链上的智能合约,其任务是被问及“mywallet.eth”域引用了什么,并以资源地址“oxe989eb1ddd3442a24...”作为响应。
通过这两个组件,我们可以映射基本的 ENS 架构和流程。解析 ENS 地址时,首先在 ENS 注册表中查询 ENS 地址 → 注册表然后回答应该为映射内容查询哪个解析器 → 并且该解析器返回将用户指向最终地址或域引用的内容。
现在 ENS 越来越受欢迎,Opera 移动、MetaMask 移动等浏览器或任何使用 MetaMask 扩展的流行浏览器都支持 .eth 域。即使在 Fleek中,ENS 域也获得了很大的吸引力! Fleek 中超过 10% 的部署与 ENS 域相关联,并且已经有超过 4000 个站点添加了 ENS 名称。
更重要的是,“.eth”不是唯一的后缀!截至今天,一些顶级域名(如 .xyz)可以注册为并在 ENS 上声明,但“.eth”仍然受益于完全是区块链原生的。
为什么 ENS 域很重要?
ENS 不仅提供了一种去中心化的替代方案,以易于阅读的名称来处理区块链内外的复杂资源,而且它也是完全去中心化 Web/应用程序托管道路上的补充部分。
ENS 没有像 GoDaddy 和 DNS 服务器这样的域名注册商,而是有两个去中心化的组件来削减这些中间人,让社区处理域名购买/所有权和解析。
毕竟,今天在 Web 2.0 中,大多数托管组件都是集中式的:域、专用托管服务器和 CDN。通过使互联网命名分散化,ENS 是改变这一点的起点。
而且,当与分布式 P2P 文件系统IPFS(InterPlanetary File System) 结合使用时,ENS 开始为摆脱 Web 2.0 的中心化、易于审查的 DNS 组件打开大门,并使去中心化、P2P 和抗审查网站和应用程序。
特别是因为 ENS 允许我们通过分散的恒定链接访问分散存储(如 IPFS)上的内容。请记住,在 IPFS 上,文件是通过其内容而不是存储 URL 来标识的。这意味着他们的地址/哈希(CID)每次内容都会改变。想象一下,每次更新时都必须更改网站的 url!
ENS 的采用仍然需要增长,P2P 内容存储/交付网络也在不断发展,以更好地实现这一目标(我们正在与 Space一起努力!)。但是,ENS 域 - 以及它们背后的想法 - 绝对代表了 Web 3.0 中托管和内容服务的基本结构,因为与 DNS 不同,它们是:
-
去中心化
-
不可变
-
抗审查
-
用户拥有/控制
而且,最重要的是,ENS 存在于以太坊生态系统中,这可不是小菜一碟!它不是一个替代的区块链/网络,而是存在于一个生态系统中,在这个生态系统中,它可以轻松地与大多数去中心化用例进行交互,并与之配对:Dapps、Defi、NFT、DAO、钱包等。
不仅如此,它还可以将所有这些用例集成到一个地址下!使用 DNS,您的域、身份、支付和银行都是独立的东西。 ENS 可以将所有内容整合到一个地址中,该地址不仅成为您的网站,还成为身份和银行。毕竟,它不仅可以携带 IPFS 哈希,还可以同时携带 ETH 或 BTC 地址等等。
如何购买ENS域名并注册
[](https://res.cloudinary.com/practicaldev/image/fetch/s--3VS64gtL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://fleek-team-bucket. storage.fleek.co/Blog%2520Inline/I%2520want%2520one%2520ENS.jpg)
让我们开始使用 ENS 和 IPFS 去中心化您的网站。您需要采取的第一步是注册一个 ENS 域。 我们将使用 ENS 的仪表板作为示例,然后按照 Fleek 的流程将其与您的 IPFS 托管站点集成。
ENS 的获取、所有权和注册方面也是去中心化的。
最初,域名拍卖持续了三天,其中执行了 Vickrey 拍卖流程。有人为他们想要购买的名称发起拍卖,人们竞标三天,获胜者拥有该域名,直到他们释放它并收回资金。然而,这促进了域名抢注/囤积,并引入了一种新模型。
截至去年,您可以立即购买和注册 ENS 域名,稍有延迟一分钟。无需支付未定义的费用,而是使用 年租金 模型,费用约为 5 美元,以 ETH 支付(某些域由于受欢迎程度略高)。这些资金现在用于计划并赠款以帮助维护/发展 ENS 和整个以太坊生态系统。
让我们回顾一下注册过程。
1\。转到ENS 域应用程序。
[](https://res.cloudinary.com/practicaldev/image/fetch/s--TXga1zr4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://fleek-team-bucket. storage.fleek.co/Blog%2520Inline/ENS%2520Application.jpg)
要注册您的第一个 ENS 域,请访问Ethereum 名称服务应用程序并搜索您要注册的地址/名称并且可用。目前,您可以注册长度至少为 3 个字符(没有最大限制)的域,并且可以包含表情符号。
2\。连接到主网络。
[](https://res.cloudinary.com/practicaldev/image/fetch/s--Mkx-tIII--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://fleek-team- bucket.storage.fleek.co/Blog%2520Inline/ENS%2520Connect.gif)
要支付您的 ENS 域的注册费并声明您的所有权,您必须使用提供的集成之一(MetaMask、WalletConnect、Portis、Torus、Authereum、MEW 钱包)连接到主网。在此示例中,我们将使用MetaMask。
3\。定义注册期限并确认
[](https://res.cloudinary.com/practicaldev/image/fetch/s--0j4VR5Vg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://fleek-team-bucket。 storage.fleek.co/Blog%2520Inline/ENS%2520Registration%2520Period.png)
选择您希望租用该域的时间,并确认最终支付的 ETH 费用。一旦你准备好了,点击“请求注册”,交易就会开始。验证大约需要一分钟,因为在此期间平台正在验证没有其他人已经尝试或正在尝试获取相同的域。
如果一切正常,您的钱包将弹出执行最终交易,并确认您的所有权和购买。
4\。查看详细信息和设置续订提醒
[](https://res.cloudinary.com/practicaldev/image/fetch/s--OCJMtT__--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://fleek-team-bucket。 storage.fleek.co/Blog%2520Inline/ENS%2520Domain%2520Details.jpg)
一旦您的交易成功,您将看到与上述类似的页面(以 ens.eth 域为例)。让我们来看看这个页面上的细节。
注册人是 ENS 域名的所有者,在这种情况下,就是您!注册者可以设置控制器地址、更改解析器或将注册转移给新所有者。
控制器可以看作是负责更改此域上的内容/地址/记录,并创建或管理子域的帐户或用户。默认情况下,注册者是控制者,但可以修改。
解析器是一个智能合约,它处理从您的 ENS 域名到您实际链接到的内容的翻译。默认情况下,它设置为由 ENS 团队管理的公共解析器,但可以针对自定义解析器合约进行修改。
到期日期 是您对该域名的续订日期,届时您必须再次付费才能在新的期限内维持该域名的所有权。任何人都可以选择付费续订您的域的所有权,而无需获得任何控制权。 使用“提醒我”按钮为您的续订日期设置提醒,该按钮允许您在日历中安排活动,或指定将发送通知的电子邮件地址。
您的域中的记录是奇迹发生的地方!您可以在此处指定您的 ENS 域名引用的所有资源/地址。例如,ETH、BTC、LTC 或 DOGE 地址,IPFS 哈希等内容到您的网站,或电子邮件或 Twitter 句柄等文本记录。
每次修改记录,都会有一笔 ETH gas 交易需要支付。通常,这是您每次为网站进行新部署时都必须执行的手动过程,但稍后我们将向您展示如何使用 Fleek 自动化它!快速剧透:Fleek 承担了这些汽油费的费用,因此您不必担心。
5\。为您的 ENS 域配置子域
[](https://res.cloudinary.com/practicaldev/image/fetch/s--GiYhX142--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://fleek-team-bucket。 storage.fleek.co/Blog%2520Inline/ENS%2520Subdomains%2520Setup.jpg)
如果您导航到新获得的 ENS 域中的第三个水龙头,您会看到您可以轻松地为您的任何网站/产品需求配置新的子域。
子域的行为与您的主 ENS 域完全相同。它们有自己的记录、控制器、解析器,您可以将它们指向您想要的任何其他 IPFS 哈希或资源。它与您作为注册人拥有的父域相关联。
如何将 ENS 域链接到 IPFS 站点
[](https://res.cloudinary.com/practicaldev/image/fetch/s--I5leTr_C--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://fleek-team-bucket。 storage.fleek.co/Blog%2520Inline/Fleek%2520IPFS%2520%2B%2520ENS%2520Website%2520Hosting.png)
现在您已经知道如何获取 ENS 域名,让我们看看如何使用 Fleek 托管分布式 IPFS + ENS 网站!
我们使用 Fleek 作为我们的首选示例,因为截至今天,管理 ENS 域是一个非常手动的过程,您需要在每次对您的网站进行新部署时更新内容哈希并支付 ETH 汽油费. Fleek 使该过程自动化,在您的 Github 上的每个新部署中自动更新 IPFS 内容标识符哈希 (CID),还为您支付每笔交易的 gas 成本,费用由我们承担。
或者,您可以查看此IPFS 指南通过主 ENS 应用程序手动将您的 ENS 域链接到 IPFS 托管的站点,但请记住,在 IPFS 上的每个新内容更改时更新内容哈希将是您的责任。
1\。使用 Fleek + Github 在 IPFS 上托管您的网站
[](https://res.cloudinary.com/practicaldev/image/fetch/s--mo_o72cB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://fleek-team-bucket。 storage.fleek.co/Blog%2520Inline/Fleek%2520IPFS%2520Github.jpg)
您可以注册Fleek 的免费 Basic计划,让您的第一个 ENS+IPFS 网站进行此测试。在开始之前,您需要将测试站点放在 Github 存储库上。您可以使用许多流行的框架,例如 Gatsby、Wordpress、NextJS、React、Hugo、Angular 等。我们为]和(https://docs.fleek.co/tutorials/hosting/)框架中的每一个提供了具体的指南,以帮助您准备网站。
准备好 Github 存储库后,在 IPFS 上部署和托管您的站点只需三个步骤:连接存储库、添加构建设置和部署。
Fleek 可以从输入的框架中自动检测所需的构建参数,但您可以在本指南](https://docs.fleek.co/hosting/site-deployment/#creating-a-deployment)中找到高级设置/配置以及这些[的详细说明。
2\。将 ENS 域添加到您的 IPFS 站点。
[](https://res.cloudinary.com/practicaldev/image/fetch/s--Y1KXX1tH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://fleek-team-bucket。 storage.fleek.co/Blog%2520Inline/ENS%2520Domain%2520Fleek.jpg)
成功完成部署后,您将看到网站的详细信息和配置页面。导航到 设置 → 域管理 选项卡,您将在其中找到等待您的 ENS 设置流程。
[](https://res.cloudinary.com/practicaldev/image/fetch/s--9ztAwgZR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://fleek-team-bucket. storage.fleek.co/Blog%2520Inline/ENS%2520Domain%2520Setup%2520Flow.gif)
首先,指定要用作 IPFS 站点地址的 ENS 域。
然后,您需要通过我们的平台将 Fleek 设置为该 ENS 域的控制器,这将允许 Fleek 将您的 IPFS 站点指向该域,并在将来有新部署时自动更新内容哈希在您的 Github 上检测到,快速反映任何更改。
这不会赋予 Fleek 域的所有权(您保留注册人的角色)。_
最后,您需要通过 MetaMask/Torus/Authereum 验证您的所有权,并支付交易的 ETH 汽油费(修改您的 ENS 控制器设置的交易)。
这是从用户端支付的唯一gas费用。对于您将来进行的所有部署,Fleek 将支付与每次自动内容哈希更新相关的 gas 成本。
就是这样!交易确认后,您可以...
3\。测试您的新 ENS + IPFS 网站!
[](https://res.cloudinary.com/practicaldev/image/fetch/s--ckYMhDFW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://fleek-team-bucket。 storage.fleek.co/Blog%2520Inline/Test%2520ENS%2520Domain.gif)
如果您使用的是与 ENS 兼容的浏览器,或者您已经安装了 MetaMask 扩展程序,就像上面的 GIF 一样,您只需在搜索栏中输入您的地址“address.eth/”(不要忘记“/”),它应该会自动解析:flekhq.eth/
或者,如果您没有这些,您始终可以在您的域后附加“.link”后缀,以便在任何浏览器上访问您的 IPFS+ENS 网站,这要归功于 ENS 提供的一项服务,该服务使所有 .eth 域都可以通过以下方式访问传统的 DNS 地址。试试flekhq.eth.link!
探索更多关于 ENS 的信息,敬请期待!
现在您已经知道如何注册您的第一个 ENS 域,以及如何将它与 IPFS 一起使用来托管网站,开始探索它的新用例。就像将其与您的 DApp集成,以允许用户使用/显示 ENS 地址,甚至让他们使用 ENS 在您的平台内命名复杂资产。
敬请关注 Fleek 即将推出的 ENS 功能的更多更新 setAuthorisation” 解析器的功能,这是一种比将我们分配为控制器本身更灵活的方法,因为它允许用户继续自己创建子域。
-
注册试用 Fleek
-
加入我们的社区聊天
-
在上关注我们 Twitter
-
订阅我们的Youtube 频道
-
查看我们的技术文档
-
联系我们support@fleek.co
更多推荐
所有评论(0)