diff --git a/EIPS/eip-634.md b/EIPS/eip-634.md new file mode 100644 index 00000000..c79ec485 --- /dev/null +++ b/EIPS/eip-634.md @@ -0,0 +1,71 @@ +--- +eip: 634 +title: Storage of text records in ENS +author: Richard Moore +type: Standards Track +category: ERC +status: Draft +created: 2017-05-17 +--- + +## Abstract +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. + + +## Motivation +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. + + +## Specification + +### Resolver Profile +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. + +The `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 `vnd.`. + +- **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.twitter** - a twitter username (should it be prefixed with an @?) +- **vnd.github** - a GitHub username + + +## Rationale + +### 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 `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. + +## Backwards Compatibility +Not applicable. + +## Test Cases +TBD + +## Implementation +None yet. + +## Copyright +Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).