mirror of https://github.com/status-im/EIPs.git
72 lines
2.3 KiB
Markdown
72 lines
2.3 KiB
Markdown
---
|
|
eip: 634
|
|
title: Storage of text records in ENS
|
|
author: Richard Moore <me@ricmoo.com>
|
|
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/).
|