知世金融网专注于股票行情,期货开户,外汇储备等最新相关资讯信息提供投资者参考学习!

当前位置:网站首页 > 区块链 > 正文

ENS(Ethereum Name Service)介绍

原创
文章作者
知世-金融领域资深作者
知名金融领域作者,从事金融超过十余年,在行业内有一定影响力。
金融风险管理师认证证书 常识职业资格认证 特许金融分析师 国际金融理财师认证证书
发布时间:2020-02-17 08:24:56 发布来源:深入浅出区块链技术 文章点击:142

ENS(Ethereum Name Service)是以太坊域名服务,是一个基于以太坊区块链的分布式、开放和可扩展的命名系统。 ENS的工作是将可读的域名(比如"alice.eth")解析为计算机可以识别的标识符,...

目录

    本文标题ENS(Ethereum Name Service)介绍,作者:知世,本文有1698个文字,大小约为7KB,预计阅读时间5分钟,请您欣赏。知世金融网众多优秀文章,如果想要浏览更多相关文章,请使用网站导航的搜索进行搜索。本站虽然不乏优秀之作,但仅作为投资者学习参考。

    ENS(Ethereum Name Service)是以太坊域名服务,是一个基于以太坊区块链的分布式、开放和可扩展的命名系统。

    ENS的工作是将可读的域名(比如"alice.eth")解析为计算机可以识别的标识符,如以太坊地址、内容的散列、元数据等。ENS还支持"反向解析",这使得将元数据(如规范化域名或接口描述)与以太坊地址相关联成为可能。

    ENS的目标与DNS(互联网域名服务)类似,但由于以太坊区块链的功能特点和限制条件,两者架构有很大的不同。与DNS一样,ENS是一个层次结构的域名系统,不同层次域名之间以点作为分隔符,我们把层次的名称叫做域,一个域的所有者能够完全控制其子域。

    顶级域名(比如".eth"和".test")的所有者是一种名为"注册中心(registrar)"的智能合约,该合约内指定了控制子域名分配的规则。任何人都可以按照这些合约规定的规则,获得一个域名的所有权并为自己所用。

    由于ENS的层次性,不论一个人拥有哪个级别的域名,都可以根据需要为自己或他人配置子域名。例如,如果Alice拥有"alice.eth",她就可以创建"pay.alice.eth"并按需对其进行设置。

    ENS部署在以太坊主网络和几个测试网络上。如果你使用ehereum-ens[1]javascript库或终端用户应用程序,它将自动检测与你交互的网络并在该网络上部署ENS。

    你现在就可以通过ENS管理器[2]或ENS官方主页[3]上的ENS应用程序,来试用ENS。

    ENS架构

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

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

    •域名的所有者
    •域名的解析器
    •域名下所有记录的缓存存活时间(即TTL)

    域名的所有者可以是外部帐户(用户)或智能合约。注册中心就是一个拥有顶级域名的智能合约,并按照合约中的规则将该域名的子域名分发给用户。

    ENS注册表中的域名所有者可以:

    •为域名设置解析器和TTL
    •将域名的所有权转让给另一个地址
    •更改子域名的所有权

    ENS注册表非常简单,它的存在只是为了将域名映射到负责解析这个域名的解析器。

    解析器负责将域名转换为地址。只要是符合解析器相关标准的智能合约,都可以在ENS中作为解析器程序。通用解析器服务于需求简单的用户,比如不经常更改地址的用户。

    每个记录类型(以太坊地址、内容的散列等)都定义了一个或多个方法,解析器必须实现这些方法才能提供这类记录。新的记录类型可以随时通过EIP标准化程序进行定义,因此不需要为了支持它们而对ENS注册表或现有的解析器进行更改。

    在ENS中解析一个域名需要两个步骤:首先,询问注册表是哪个解析器负责解析该域名,然后,向该解析器查询解析结果。

    在上面的例子中,我们想找到"foo.eth"指向的以太坊地址。首先,我们询问注册表是哪个解析器负责解析"foo.eth";然后,我们向该解析器查询"foo.eth"的地址。

    Namehash

    智能合约中的资源限制使得直接与可读的域名交互效率低下,因此ENS只使用固定长度的256位加密散列。为了从域名生成散列的同时仍然保留其层次性,ENS使用了名为Namehash的算法。例如,"alice.eth"的Namehash为 0x787192fc5378cc32aa956ddfdedbf26b24e8d78e40109add0eea2c1a012c3dec,Namehash只是用来在ENS内部表示域名。

    Namehash是一个递归过程,可以为任何有效的域名生成唯一的散列。从任意一个域名的Namehash开始(比如"alice.eth"的Namehash)可以推导出任意子域名的Namehash(比如"iam.alice.eth"的Namehash),而且推导过程中不需要知道或处理"alice.eth"这个可读的原始域名。正是这个特性使得ENS能够成为一个层次性的系统,且不必在内部处理可读的文本字符串。

    在使用Namehash进行散列之前,首先需要借助UTS-46标准对域名进行规范化,确保域名中的字母与大小写无关,并禁止使用无效字符。任何对域名进行散列和解析的操作都必须首先对其进行规范化,以确保所有用户获得ENS的一致性。

    有关Namehash和规范化如何工作的详细信息,请参阅有关域名处理[6]的文档。

    开始使用

    ENS为包括DApp开发者和合约开发者在内的各种人员提供参考文档。

    我是DApp的开发者,我想为我的DApp添加ENS支持
    从在DApp中启用ENS[7]开始,查看开发应用程序开发者指南,你可以从众多可用的ENS库[8]中选择一个来开始使用ENS。

    我是一名合约开发者,希望在我的智能合约中与ENS进行交互
    从链上域名解析[9]开始,查看合约开发者指南。你还可以编写自己的解析器[10](自定义查询域名的过程)或自己的注册中心[11](自定义注册新域名的过程)。

    我想查看ENS智能合约的参考文档

    查看ENS智能合约的API参考文档,这些文档涵盖了ENS的核心合约、注册表[12]、解析器[13]和常用的注册中心,如:测试注册中心[14]、反向注册中心[15]以及.eth注册中心[16]。

    References
    [1] ehereum-ens: https://www.npmjs.com/package/ethereum-ens
    [2] ENS管理器: https://app.ens.domains/
    [3] ENS官方主页: https://ens.domains/
    [4] 注册表: https://learnblockchain.cn/docs/ens/contract-api-reference/ens.html
    [5] 解析器: https://learnblockchain.cn/docs/ens/contract-api-reference/publicresolver.html
    [6] 域名处理: https://learnblockchain.cn/docs/ens/contract-api-reference/name-processing.html
    [7] 在DApp中启用ENS: https://learnblockchain.cn/docs/ens/dapp-developer-guide/ens-enabling-your-dapp.html
    [8] ENS库: https://learnblockchain.cn/docs/ens/dapp-developer-guide/ens-libraries.html
    [9] 链上域名解析: https://learnblockchain.cn/docs/ens/contract-developer-guide/resolving-names-on-chain.html
    [10] 编写自己的解析器: https://learnblockchain.cn/docs/ens/contract-developer-guide/writing-a-resolver.html
    [11] 注册中心: https://learnblockchain.cn/docs/ens/contract-developer-guide/writing-a-registrar.html
    [12] 注册表: https://learnblockchain.cn/docs/ens/contract-api-reference/ens.html
    [13] 解析器: https://learnblockchain.cn/docs/ens/contract-api-reference/publicresolver.html
    [14] 测试注册中心: https://learnblockchain.cn/docs/ens/contract-api-reference/testregistrar.html
    [15] 反向注册中心: https://learnblockchain.cn/docs/ens/contract-api-reference/reverseregistrar.html
    [16] .eth注册中心: https://learnblockchain.cn/docs/ens/contract-api-reference/.eth-permanent-registrar/

    本文相关推荐: 用通俗的语言来介绍什么是央行数字货币?

    以上便是知世金融网给大家分享的关于ENS(Ethereum Name Service)介绍/qkl/29491.html的相关信息了,希望能帮助到大家,更多金融相关信息,敬请关注知世金融网!

    网站内容均来自互联网,如侵害您的利益联系客服进行删除!

    关键词:介绍
    (0)
    (0)

    上一篇:频频出现的Libra和DECP究竟是什么?两者有何关系?

    下一篇:那些年,我所经历的丢币盗币案件 (1)

    本文标题:ENS(Ethereum Name Service)介绍

    本文地址:/index.php?s=article&c=search&keyword=%E4%BB%8B%E7%BB%8D

    金融知名领域

    南方财富网 | 金融界 | 金融界 |

    更多推荐

    • 茅台吃饱,经销商哭倒
      茅台吃饱,经销商哭倒
    • 汇金的五次增持从短期看具有一定的“稳定器“作用,但从市场表现看效果逐次递减
      汇金的五次增持从短期看具有一定的“稳定器“作用,但从市场表现看效果逐次递减
    • 158亿元!比亚迪收购!
      158亿元!比亚迪收购!
    • 9月价格回落近五成 “冷静期”酒店业备战“十一”市场
      9月价格回落近五成 “冷静期”酒店业备战“十一”市场
    • 2023哈马博览会哈尔滨银行展区精彩纷呈
      2023哈马博览会哈尔滨银行展区精彩纷呈
    • 大额解禁撂倒股价 医疗影像龙头跌出千亿俱乐部 葛兰二季度大幅减仓
      大额解禁撂倒股价 医疗影像龙头跌出千亿俱乐部 葛兰二季度大幅减仓
    • A股,又上了热搜!数字要素概念走高多股涨停,锂电池板块走低恩捷股份大举跌停
      A股,又上了热搜!数字要素概念走高多股涨停,锂电池板块走低恩捷股份大举跌停
    • 最新!巨头出手,加仓宁王51%
      最新!巨头出手,加仓宁王51%
    • 600亿巨头暴雷
      600亿巨头暴雷
    • 一天32家!科创板回购潮涌来
      一天32家!科创板回购潮涌来
    • 提振信心实招来了!30余家上市公司密集出手 最高要买10亿
      提振信心实招来了!30余家上市公司密集出手 最高要买10亿
    • 高盛再发50年后预测:2075年印度股市全球市值占比将升4倍 中国升3成
      高盛再发50年后预测:2075年印度股市全球市值占比将升4倍 中国升3成

    新闻资讯栏目

    站长QQ: 2397470084