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:
function text(bytes32 node, string key) constant returns (string text);
The interface ID of this interface is 0x59d1d43c.
text data may be any arbitrary UTF-8 string. If the key is not present, the empty string
must be returned.
Initial Recommended Keys
Keys must be made up of lowercase letters, numbers and the hyphen (-). Vendor specific
services must be prefixed with
- email - an e-mail address
- url - a URL
- avatar - a URL to an image used as an avatar or logo
- description - A description of the name
- notice - A notice regarding this name;
keywords - A list of comma-separated keywords, ordered by most significant first; clients that interpresent this field may choose a threshold beyond which to ignore
- vnd.github - a GitHub username
- vnd.peepeth - a peepeth username
- vnd.twitter - a twitter username
Usernames SHOULD not be prefixed with the @ symbol.
Application-specific vs general-purpose record types
Rather than define a large number of specific record types (each for generally human-readable
data) such as
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.
Copyright and related rights waived via CC0.