Служба имен Ethereum (ENS) - это распределенная, открытая и расширяемая система именования, основанная на блокчейне Ethereum.
Задача ENS - сопоставлять человекочитаемые имена, такие как "alice.eth", с машиночитаемыми идентификаторами, такими как адреса Ethereum, адреса других криптовалют, хэши контента и метаданные. ENS также поддерживает "обратное разрешение", позволяя связать метаданные, такие как канонические имена или описания интерфейсов, с адресами Ethereum.
ENS имеет схожие цели с DNS, службой доменных имен в Интернете, но значительно отличается по архитектуре благодаря возможностям и ограничениям, которые предоставляет блокчейн Ethereum. Как и DNS, ENS работает на основе системы иерархических имен, разделенных точками, называемых доменами, причем владелец домена имеет полный контроль над субдоменами.
Домены верхнего уровня, такие как '.eth' и '.test', принадлежат смарт-контрактам, называемым регистраторами, которые определяют правила, регулирующие распределение их поддоменов. Любой человек может, следуя правилам, установленным этими контрактами с регистраторами, получить право собственности на домен для собственного использования. ENS также поддерживает импорт DNS-имен, уже принадлежащих пользователю, для использования в ENS.
Благодаря иерархической природе ENS каждый, кто владеет доменом любого уровня, может настраивать поддомены - для себя или других - по своему усмотрению. Например, если Алиса владеет доменом 'alice.eth', она может создать домен 'pay.alice.eth' и настроить его по своему усмотрению.
ENS развернута в основной сети Ethereum и в нескольких тестовых сетях. Если вы используете библиотеку, например, Javascript-библиотеку ensjs, или приложение для конечных пользователей, оно автоматически определит сеть, с которой вы взаимодействуете, и будет использовать развертывание ENS в этой сети.