diff --git a/_config.yml b/_config.yml new file mode 100644 index 000000000..c4192631f --- /dev/null +++ b/_config.yml @@ -0,0 +1 @@ +theme: jekyll-theme-cayman \ No newline at end of file diff --git a/uri/README.md b/uri/README.md new file mode 100644 index 000000000..5a33a64c3 --- /dev/null +++ b/uri/README.md @@ -0,0 +1,41 @@ +URI specifications +================== + +Authors: [Patrik Wallström](github.com/pawal) + +Reviewers: + +* * * + +# Abstract + +For different applications to handle ipfs references there need to be URIs registered. In order to for applications to understand how to handle the references, the URIs needs to have specificaitions. The generic syntax for URIs are described in [RFC3986](https://tools.ietf.org/html/rfc3986). + +The consensus of which URIs need to be specified can be found here: https://github.com/ipfs/go-ipfs/issues/1678#issuecomment-157478515 + +# Status of this spec + +![](https://img.shields.io/badge/status-wip-orange.svg?style=flat-square) + +Note: These specifications are currently in the wip phase, things are likely to change. + +# Overview + +The discussion on what URI schemes that are needed is concluded [here](https://github.com/ipfs/go-ipfs/issues/1678#issuecomment-157478515). The discussion lead to the consensus that these URI schemas are needed: + + * **canonical NURI** is a file system **path**. Does not need a URI specification. Examples, where **Qm...** is a [multihash](https://github.com/multiformats/multihash): + * /ipfs/Qm... + * /ipns/Qm... + * /ipfs/Qm.../filename + * /ipns/Qm.../dir/filename + + * **[ipfs://](./ipfs.md)** style URI that references IPFS content with the multihash and filepath. + + * **[fs://](./fs.md)** style URI referencing ipfs-specific AND non-ipfs specific hash resolution mechanisms + * fs://ipns/Qm.../foo/bar + +# Notes + +Previous work has been done with URIs for naming hashes, most notably [RFC6920](https://tools.ietf.org/html/rfc6920). 6920 create the URI schemas ni: and nih: where the latter is a human-speakable name for the hash, both schemas are published in the [IANA registry](http://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml). These schemas were created from the EU FP7 project [SAIL](http://www.sail-project.eu/), Scalable and Adaptive Internet Solutions. + +The guidelines to submitting URI schemas to the IANA registry is described in [RFC7595](https://tools.ietf.org/html/rfc7595). diff --git a/uri/ipfs.md b/uri/ipfs.md new file mode 100644 index 000000000..fe1f27e53 --- /dev/null +++ b/uri/ipfs.md @@ -0,0 +1,34 @@ +(last updated 2016-09-30) + +Resource Identifier (RI) Scheme name: ipfs +Status: provisional + +Applications/protocols that use this scheme name: ipfs + +Scheme syntax: + ipfs://ipfs/<multihash> + ipfs://ipfs/<multihash>/path + ipfs://ipns/<multihash> + ipfs://ipns/<multihash>/path + +Scheme semantics: + "ipfs links" + +Encoding considerations: + Unknown, use with care. + +Applications/protocols that use this scheme name: + Used by ipfs clients, providing a hash of a file or resource to be located on the network. + +Interoperability considerations: + Unknown, use with care. +Security considerations: + Unknown, use with care. +Contact: + Scheme creator: Patrik Wallström on behalf of the IPFS project, pawal@blipp.com +Author/Change controller: + The IPFS project +References: + https://github.com/ipfs/specs/uri/ipfs.md, https://en.wikipedia.org/wiki/IPFS, https://ipfs.io/ + +(file created 2016-09-30)