前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ENS域名注册终极指南

ENS域名注册终极指南

作者头像
辉哥
发布2019-11-27 15:11:45
5.3K0
发布2019-11-27 15:11:45
举报

ENS 是当下以太坊生态中最热门的话题之一,这股潮流的出现有很多因素。正如官网提到的那样[1]:“ENS 利用可读的域名,为链上、链下资源寻址提供了一种既安全又去中心化的解决方案。”

简单来说, ENS 能给你的以太坊(或是你喜欢的其它链[2])地址绑定一个域名。这和传统互联网里面的 DNS 十分接近。虽然所有的网站都是用 IP 地址托管的,但几乎没有人会在浏览器中输入 IP ,大家都是使用 amzon.com 进行网页浏览,而不是敲 205.251.242.103(你大可试试,能用!)。ENS 有很多非常棒的特性,本文就不在此赘述,这篇文章主要是想告诉大家如何注册 .eth 域名,并且注册之后应该如何管理和使用自己的 .eth 域名、子域名。

注册 .eth 域名

ENS 系统中的核心操作就是注册 .eth 域名了。当注册 ENS 域名时应该牢记以下几点:

1.域名最短长度为 3 位。2.不同长度域名的注册年费不同。3 位域名的注册年费为

640/年 ,4 位域名的注册年费为
640/年 ,4 位域名的注册年费为

160/年 ,5位及以上长度的域名注册年费为 $5/year 。3.Emoji 也能注册??

创建并管理域名

在 ENS 官方注册器[3]上注册 .eth 域名其实很简单。首先搜索你喜欢的域名。如果还没有被注册(如果已经被注册了,可以到 OpenSea[4] 上搜索看看有没有出售这个域名),你会看到如下画面。

看到以上网页时,你可以点击 Request To Register 按钮,这会触发生成一笔交易,静待 1 分钟后进度条会运行到第 3 步,然后再次点击蓝色按钮发送一笔交易,发送完成后,这个域名就是你的了。

现在你拥有了一个 .eth 域名,是否都迫不及待把它用起来了呢?首先我们需要进入域名管理器。

域名管理器里面又很多属性,我们这就一一解释:

•Registrant(注册人):可以设置 controller(控制人)的地址,同时可以把注册权(registration)转移给别人。Registrant 是当前域名真正的主人。•Controller(控制人):对域名进行各种“日常配置操作”的人。•Expiration Date(到期时间):显示当前域名的到期时间,你可以在这个页面完成续费。•Resolver(解析器):负责解析(转换)下面提到的记录(records),告诉钱包等应用这个域名究竟和哪一个以太坊地址对应。如果直接按 Set 按钮,会设置为默认的公共解析器[5]。•Records(记录):在这里可以给你的域名设置很多有意思的东西。如果添加了一条地址记录,那当在钱包中直接输入你的 .eth 域名后,就会直接指向你的钱包地址。你也可以添加一条 IPFS 内容哈希的记录,(在安装了 metamask 等插件的情况下)在浏览器中输入你的 ens 域名会直接跳转到对应的 IPFS 资源。

一旦设置了地址的记录,在像 MetaMask 这样的钱包(译者注:imtoken,myetherwallet,alphawallet 等45种钱包都支持)里输入 ens 域名,就会自动解析出你的钱包地址。

如果你添加了 IPFS 哈希的记录,在安装了 MetaMask 等插件的浏览器中可以像这样直接输入 ethhub.eth 来访问对应的 IPFS 资源。对没有装插件的浏览器,也可以通过在浏览器中输入 ethhub.eth.link 来访问该资源,这种方式没有解析 ENS 域名,而是通过 ENS 官方所维护的一个网关。

子域名

子域名为构建在 .eth 之上的域名提供了很大的灵活性。如果你是一家公司,比方说 Maker ,然后想在 maker.eth 之下为你的每一位员工配置一个子域名,在 ens 里面这十分简单。这一节我们不仅会介绍如何创建属于自己的子域名,也会介绍如何让别人能够购买你域名之下的子域名。

创建并管理子域名

如果你有一个 .eth 域名,并且希望创建一些子域名给自己用,那最简单的办法就是在 ENS 管理器上点击 Subdomains 按钮。在这里你能创建一些新域名。

一旦创建了短域名,接下来的设置细节就和域名十分接近,子域名的所有者可以控制子域名,并设置记录。这就意味着像 eric.ethhub.eth 这样的子域名也可以解析到一个钱包地址,或者是 IPFS 网站。

让任何人都能申请你 .eth 域名下的子域名

上面介绍的子域名操作是由 .eth 域名的注册人发起的。他们创建子域名,并享有最终的控制权,甚至可以收回子域名。对于某个公司或是个人而言,享有名下子域名的所有控制权无可厚非,但是如果你想要全球任何人都能申请你名下子域名,这种做法是否还合适呢?显然你不会想要和他们做过多的接触,他们也绝对不会希望你能有权限发起子域名撤回操作。告诉你一个好消息,其实有一种办法能让开放子域名注册变得很简单,你甚至可以明码标价出售自己的子域名。

这个方案会把你域名的控制权交给 ENS 子域名注册器合约[6]。这意味着是由这个智能合约向人们分发你的短域名,同时你无法对这些短域名发起撤回操作。目前这个交互过程还需要手动进行,不过实际上很简单。Nick Johnson 在这篇关于 ENSNow 的文章[7]中解释的很清楚,下面我把具体的步骤列举说明:

预警说明:通过以下操作,你将永久性地失去对自己域名的使用权!你可以从短域名注册中收取费用,更改短域名定价,将域名的控制权转移给别的用户,但你无法使用这个域名做别的任何事了!

1.加载 .eth 注册器合约[8]。如果你是用 Etherscan 进行操作,你需要点击“通过 Metamask 连接”(Connect with Metamask),然后授权之后 Metamask 弹出来的对话框。2.找到 ‘approve’ 函数。3.在地址一栏填写 ‘0xc32659651d137a18b79925449722855aa327231d’4.在 tokenId 一栏填写你域名的 labelhash 。可以在 etherscan 上找到对应域名的 labelhash(举例来说,搜索‘Label hash [foo]:’)5.加载新子域名注册器合约[9](new subdomain registrar contract)。6.提交这笔交易。7.找到 ‘configureDomian’ 函数。8.在域名(name)一栏,填写你想要挂出来的域名,不需要加 ‘.eth’ 后缀(比方说直接填 ‘gimmethe’,而不是‘gimmethe.eth’)。9.在价格一栏,填写你对子域名注册收取的费用,单位为 wei 。1 以太币等于 10^18 wei,因此如果你想要对每个子域名收取 0.01 以太币的注册费,你应该填 10000000000000000 。这里有一个换算器[10]。10.在 referralFeePPM 一栏,填写你愿意支付给其它网站的推广费用,提成按每一个成功注册的子域名计算。举例来说,如果你想把所有的钱都留给自己,那就直接输 0 。如果你想要把收入全给那个帮你推广的网站,那就输入 1000000 。11.提交这笔交易。

现在你的域名被转交给了子域名注册器合约。如果你设置了子域名注册费,那每当有人成功注册一个子域名时,注册费都会直接发送到你的钱包里。这个特性让 ens 域名多了很多可玩性。

把你的子域名挂到 ENSNow 上

ENS 官方团队已经做了一个网站[11],所有人都能在这个网站上注册子域名。如果你想要把自己的短域名挂到这个网站上,过程也很简单。Nick 也已经写过一篇文章[12]介绍具体的流程,我把其中的步骤列举说明如下:

1.跳转到这个网站[13]然后点解右上角的‘fork’按钮。2.按顺序进入 app->js->domains.json 。3.点击文件右上角的铅笔图标。4.找到一个合适的地方来键入你的域名实体(实体是按字母表顺序排列的)。5.新起一行,添加你的域名实体。如果是按上文中的步骤完成域名管理权转移的,应该在这里填 {"name":"yourdomain","version":"1.0"}, 。6.点按页面底部的 ‘Commit changes’ 按钮来提交你的改动。7.点击 ‘Pull requests’ ,然后点击 ‘New pull request’ 。8.点击 ‘Create pull request’ 。

建立你自己的子域名销售站

ENS 虽然简单好用,但把自己的域名和别人的混在一起无法凸显自己的品牌。所以如果你想建立一个网站,同时只销售自己的子域名,并这个网站进行定制设计,也不是不可以。我正在运营着的 Ethmojis [14]就是这样一个网站。

建立这样一个网站最好是从 Subdomain Registrar GitHub 网页[15]上开始。他们有教程介绍“上手流程”,我在这里尽自己可能总结列举如下:

1.下载安装 node.js 以及 NPM2.使用 npm install -g truffle 指令下载 Truffle3.下载并安装 Ganache[16]4.将 subdomain-registrar 仓库 [17]克隆到电脑上5.在终端进入你克隆的文件夹里,运行 npm install 命令6.找到 /app/js/domains.json 文件,将白名单改成只有你自己的域名。我的配置是:[{“name”: “ethmojis”, “version”: “1.0”}]7.发挥自己的创造力,设计改动 index.html 文件8.在终端跳转或你克隆的子域名注册器的目录9.运行: ganache-cli & truffle deploy npm run dev10.如果一切运行良好,运行 npm run build11.然后会生成一个 build 文件夹,包含了所有的文件输出。这就是你的最终网站,你可以八通放到服务器或者 IPFS 上。

要想把网站托管到 IPFS 上,你需要把整个 build 文件夹上传,获取资源哈希。然后把这个资源哈希放到任何 ENS 域名或者子域名的 “records” 中!成功后网站可能就会像这样:

恭喜,你现在是一名 ENS(Ethereum Name Service) 专家了!

References

[1] 官网提到的那样: https://ens.domains/ [2] 你喜欢的其它链: https://medium.com/the-ethereum-name-service/ens-launches-multi-coin-support-15-wallets-to-integrate-92518ab20599 [3] ENS 官方注册器: https://app.ens.domains/ [4] OpenSea: https://opensea.io/assets/ens [5] 公共解析器: https://docs.ens.domains/contract-api-reference/publicresolver [6] ENS 子域名注册器合约: https://github.com/ensdomains/subdomain-registrar [7] 这篇关于 ENSNow 的文章: https://medium.com/the-ethereum-name-service/migrating-your-ensnow-domains-to-the-new-registrar-c0085eaaeff2 [8] .eth 注册器合约:https://etherscan.io/address/0xfac7bea255a6990f749363002136af6556b31e04#writeContract [9] 新子域名注册器合约:https://etherscan.io/address/0xc32659651d137a18b79925449722855aa327231d#writeContract [10] 换算器: https://gwei.io/ [11] 网站: https://now.ens.domains/ [12] 一篇文章: https://medium.com/@weka/how-to-list-your-domain-on-ensnow-7297808f31f5 [13] 网站: https://github.com/ensdomains/subdomain-registrar [14] Ethmojis : https://ethmojis.com [15] Subdomain Registrar GitHub 网页: https://github.com/ensdomains/subdomain-registrar [16] Ganache: https://www.trufflesuite.com/ganache [17] subdomain-registrar 仓库 : https://github.com/ensdomains/subdomain-registrar

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 注册 .eth 域名
  • 创建并管理域名
  • 子域名
  • 创建并管理子域名
  • 让任何人都能申请你 .eth 域名下的子域名
  • 把你的子域名挂到 ENSNow 上
  • 建立你自己的子域名销售站
    • References
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档