Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[IANA #1240939] application/vnd.ipld.dag-json registration request #202

Closed
lidel opened this issue Oct 11, 2022 · 2 comments
Closed

[IANA #1240939] application/vnd.ipld.dag-json registration request #202

lidel opened this issue Oct 11, 2022 · 2 comments
Assignees
Labels

Comments

@lidel
Copy link
Member

lidel commented Oct 11, 2022

In effort to standardize content type used in ipfs/kubo#8823 and ipfs/kubo#9335 I am submitting a request for registering application/vnd.ipld.dag-json at https://www.iana.org/assignments/media-types/media-types.xhtml

@lidel lidel added the need/triage Needs initial labeling and prioritization label Oct 11, 2022
@lidel lidel self-assigned this Oct 11, 2022
@lidel lidel added status/in-progress In progress specs and removed need/triage Needs initial labeling and prioritization labels Oct 11, 2022
@lidel
Copy link
Member Author

lidel commented Oct 11, 2022

Submitted initial version, awaiting feedback from IANA:

Media type name: application

Media subtype name: vnd.ipld.dag-json

Required parameters: N/A

Optional parameters: N/A

Encoding considerations: binary



Security considerations: The media type inherits the security considerations for <application/json> (See RFC 8259, Section 12) and introduces additional limitations listed at <https://ipld.io/specs/codecs/dag-json/spec/>.

Interoperability considerations: DAG-JSON is a struct subset of the JavaScript Object Notation (JSON) data format defined by RFC 8259.

Every <application/vnd.ipld.dag-json> can be parsed or be interpreted as a valid <application/json, but the opposite may not be true. 

DAG-JSON can be represented in a binary form as DAG-CBOR, when size is more valuable than human-readable form.

Published specification: <https://ipld.io/specs/codecs/dag-json/spec/>

Applications which use this media: DAG-JSON allows for creating deterministic JSON documents that produce a stable hash, which in turns allows for use in content-addressed contexts, such as Directed Acyclic Graphs (DAGs) and Merkle tree-like structures based on DAGs.

DAG-JSON requires that there exist a single, canonical way of encoding any given set of data, and that encoded forms contain no superfluous data that may be ignored or lost in a round-trip decode/encode.

These properties are used extensively in:
IPLD <https://ipld.io>
IPFS <https://ipfs.tech>

Fragment identifier considerations: N/A

Restrictions on usage: N/A

Provisional registration? (standards tree only): No

Additional information:

   1. Deprecated alias names for this type: N/A
   2. Magic number(s): N/A
   3. File extension(s): json
   4. Macintosh file type code: N/A
   5. Object Identifiers: N/A

General Comments: 

Person to contact for further information:

   1. Name: Marcin Rataj
   2. Email: lidel@protocol.ai

Intended usage: COMMON

N/A

Author/Change controller: Protocol Labs
<https://protocol.ai>
<standards@protocol.ai>

@lidel
Copy link
Member Author

lidel commented Oct 20, 2022

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
No open projects
Archived in project
Archived in project
Development

No branches or pull requests

1 participant