http://www.7klian.com

ENS(Ethereum Name Service)介绍

[16] .eth注册中心: https://learnblockchain.cn/docs/ens/contract-api-reference/.eth-permanent-registrar/

[9] 链上域名理会: https://learnblockchain.cn/docs/ens/contract-developer-guide/resolving-names-on-chain.html
在ENS中理会一个域名需要两个步调:首先,询问注册表是哪个理会器认真理会该域名,然后,向该理会器查询理会功效。

每个记录范例(以太坊地点、内容的散列等)都界说了一个或多个要领,理会器必需实现这些要领才气提供这类记录。新的记录范例可以随时通过EIP尺度化措施举办界说,因此不需要为了支持它们而对ENS注册表或现有的理会器举办变动。
理会器认真将域名转换为地点。只要是切合理会器相关尺度的智能合约,都可以在ENS中作为理会器措施。通用理会器处事于需求简朴的用户,好比不常常变动地点的用户。

ENS有两个主要组件:注册表[4]息争析器[5]

ENS的方针与DNS(互联网域名处事)雷同,但由于以太坊区块链的成果特点和限制条件,两者架构有很大的差异。与DNS一样,ENS是一个条理布局的域名系统,差异条理域名之间以点作为脱离符,我们把条理的名称叫做域,一个域的所有者可以或许完全节制其子域。
•将域名的所有权转让给另一个地点
Namehash
ENS注册表中的域名所有者可以:
Namehash是一个递归进程,可觉得任何有效的域名生成独一的散列。从任意一个域名的Namehash开始(好比”alice.eth”的Namehash)可以推导出任意子域名的Namehash(好比”iam.alice.eth”的Namehash),并且推导进程中不需要知道或处理惩罚”alice.eth”这个可读的原始域名。正是这个特性使得ENS可以或许成为一个条理性的系统,且不必在内部处理惩罚可读的文本字符串。
[12] 注册表: https://learnblockchain.cn/docs/ens/contract-api-reference/ens.html
[2] ENS打点器: https://app.ens.domains/

在上面的例子中,我们想找到”foo.eth”指向的以太坊地点。首先,我们询问注册表是哪个理会器认真理会”foo.eth”;然后,我们向该理会器查询”foo.eth”的地点。
[5] 理会器: https://learnblockchain.cn/docs/ens/contract-api-reference/publicresolver.html

ENS(Ethereum Name Service)是域名处事,,是一个基于以太坊的漫衍式、开放和可扩展的定名系统。
从在DApp中启用ENS[7]开始,查察开拓应用措施开拓者指南,你可以从浩瀚可用的ENS库[8]中选择一个来开始利用ENS。
[14] 测试注册中心: https://learnblockchain.cn/docs/ens/contract-api-reference/testregistrar.html
[8] ENS库: https://learnblockchain.cn/docs/ens/dapp-developer-guide/ens-libraries.html
ENS的事情是将可读的域名(好比”alice.eth”)理会为计较机可以识此外标识符,如以太坊地点、内容的散列、元数据等。ENS还支持”反向理会”,这使得将元数据(如类型化域名或接口描写)与以太坊地点相关联成为大概。
智能合约中的资源限制使得直接与可读的域名交互效率低下,因此ENS只利用牢靠长度的256位加密散列。为了从域名生成散列的同时仍然保存其条理性,ENS利用了名为Namehash的算法。譬喻,”alice.eth”的Namehash为 0x787192fc5378cc32aa956ddfdedbf26b24e8d78e40109add0eea2c1a012c3dec,Namehash只是用来在ENS内部暗示域名。
ENS陈设在以太坊主网络和几个测试网络上。假如你利用ehereum-ens[1]javascript库或终端用户应用措施,它将自动检测与你交互的网络并在该网络上陈设ENS。
•变动子域名的所有权
我是DApp的开拓者,我想为我的DApp添加ENS支持
ENS架构

[15] 反向注册中心: https://learnblockchain.cn/docs/ens/contract-api-reference/reverseregistrar.html
ENS为包罗DApp开拓者和合约开拓者在内的各类人员提供参考文档。
你此刻就可以通过ENS打点器[2]或ENS官方主页[3]上的ENS应用措施,来试用ENS。
[11] 注册中心: https://learnblockchain.cn/docs/ens/contract-developer-guide/writing-a-registrar.html
References
我是一名合约开拓者,但愿在我的智能合约中与ENS举办交互
•域名下所有记录的缓存存活时间(即TTL)
[1] ehereum-ens: https://www.npmjs.com/package/ethereum-ens
顶级域名(好比”.eth”和”.test”)的所有者是一种名为”注册中心(registrar)”的智能合约,该合约内指定了节制子域名分派的法则。任何人都可以凭据这些合约划定的法则,得到一个域名的所有权并为本身所用。
[4] 注册表: https://learnblockchain.cn/docs/ens/contract-api-reference/ens.html
开始利用
从链上域名理会[9]开始,查察合约开拓者指南。你还可以编写本身的理会器[10](自界说查询域名的进程)或本身的注册中心[11](自界说注册新域名的进程)。
[6] 域名处理惩罚: https://learnblockchain.cn/docs/ens/contract-api-reference/name-processing.html
[10] 编写本身的理会器: https://learnblockchain.cn/docs/ens/contract-developer-guide/writing-a-resolver.html
我想查察ENS智能合约的参考文档
[3] ENS官方主页: https://ens.domains/
查察ENS智能合约的API参考文档,这些文档涵盖了ENS的焦点合约、注册表[12]、理会器[13]和常用的注册中心,如:测试注册中心[14]、反向注册中心[15]以及.eth注册中心[16]。
ENS注册表很是简朴,它的存在只是为了将域名映射到认真理会这个域名的理会器。
•域名的所有者
[7] 在DApp中启用ENS: https://learnblockchain.cn/docs/ens/dapp-developer-guide/ens-enabling-your-dapp.html

在利用Namehash举办散列之前,首先需要借助UTS-46尺度对域名举办类型化,确保域名中的字母与巨细写无关,并克制利用无效字符。任何对域名举办散列息争析的操纵都必需首先对其举办类型化,以确保所有用户得到ENS的一致性。
有关Namehash和类型化如何事情的具体信息,请参阅有关域名处理惩罚[6]的文档。
•为域名配置理会器和TTL
域名的所有者可以是外部帐户(用户)或智能合约。注册中心就是一个拥有顶级域名的智能合约,并凭据合约中的法则将该域名的子域名分发给用户。
由于ENS的条理性,岂论一小我私家拥有哪个级此外域名,都可以按照需要为本身或他人设置子域名。譬喻,假如Alice拥有”alice.eth”,她就可以建设”pay.alice.eth”并按需对其举办配置。
[13] 理会器: https://learnblockchain.cn/docs/ens/contract-api-reference/publicresolver.html
•域名的理会器

ENS注册表是一个智能合约,该合约维护所有域名和子域名列表,并存储关于每个域名的三个要害信息:

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。