Ethereum Name Service(ENS)是一个基于以太坊区块链的分布式、开放且可扩展的命名系统。
ENS的工作是将像‘alice.eth’这样的人类可读名称映射到机器可读标识符,比如以太坊地址、其他加密货币地址、内容哈希和元数据。ENS还支持“反向解析”,使得可以将元数据如规范名称或接口描述与以太坊地址关联起来。
ENS的目标与互联网的域名服务DNS相似,但由于以太坊区块链提供的能力和约束,它具有显著不同的架构。与DNS一样,ENS基于点分隔的层级名称系统运作,称为域名,域名的所有者对其子域拥有完全控制权。
顶级域名,如‘.eth’和‘.test’,由称为注册商的智能合约所拥有,这些注册商指定了其子域分配的规则。任何人都可以按照这些注册商合约规定的规则,获得一个域名以供自己使用。ENS还支持将用户已拥有的DNS名称导入以在ENS上使用。
由于ENS的层级性质,任何在任何级别拥有域名的人都可以配置子域名——无论是为自己还是为他人。例如,如果Alice拥有'alice.eth',她可以创建'pay.alice.eth'并按照自己的意愿进行配置。
ENS已在以太坊主网络和多个测试网络上部署。如果您使用像ensjs这样的Javascript库或终端用户应用程序,它将自动检测您正在与之交互的网络,并使用该网络上的ENS部署。