This EIP defines a resolver profile for ENS that permits the lookup of arbitrary key-value text data. This allows ENS name holders to associate e-mail addresses, URLs and other informational data with a ENS name.
There is often a desire for human-readable metadata to be associated with otherwise machine-driven data; used for debugging, maintenance, reporting and general information.
In this EIP we define a simple resolver profile for ENS that permits ENS names to associate arbitrary key-value text.
A new resolver interface is defined, consisting of the following method:
interface IERC634 {
/// @notice Returns the text data associated with a key for an ENS name
/// @param node A nodehash for an ENS name
/// @param key A key to lookup text data for
/// @return The text data
function text(bytes32 node, string key) view returns (string text);
}
The EIP-165 interface ID of this interface is 0x59d1d43c
.
The text
data may be any arbitrary UTF-8 string. If the key is not present, the empty string
must be returned.
Global Keys must be made up of lowercase letters, numbers and the hyphen (-).
"ricmoo.eth"
could set this to "RicMoo.eth"
)"Toronto, Canada"
)Service Keys must be made up of a reverse dot notation for
a namespace which the service owns, for example, DNS names
(e.g. .com
, .io
, etc) or ENS name (i.e. .eth
). Service
Keys must contain at least one dot.
This allows new services to start using their own keys without worrying about colliding with existing services and also means new services do not need to update this document.
The following services are common, which is why recommendations are provided here, but ideally a service would declare its own key.
This technique also allows for a service owner to specify a hierarchy for their keys, such as:
The following keys were specified in earlier versions of this EIP, which is still in draft.
Their use is not likely very wide, but applications attempting maximal compatibility may wish to query these keys as a fallback if the above replacement keys fail.
com.github
)com.peepeth
)com.twitter
)Rather than define a large number of specific record types (each for generally human-readable
data) such as url
and email
, we follow an adapted model of DNS's TXT
records, which allow
for a general keys and values, allowing future extension without adjusting the resolver, while
allowing applications to use custom keys for their own purposes.
Not applicable.
None.
Copyright and related rights waived via CC0.