From 736491acc72a522d5215a70a2e9819ed279473ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrik=20Wallstr=C3=B6m?= Date: Tue, 22 Oct 2019 15:48:52 +0200 Subject: [PATCH 1/2] First draft of ipfs: URI spec, see #138, replaces PR #139 --- uri/README.md | 41 +++++++++++++++++++++++++++++++++++++++++ uri/ipfs.md | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 uri/README.md create mode 100644 uri/ipfs.md 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) From 5247d3835cb7877e4810b18c6c6f19a8e3f4c34c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrik=20Wallstr=C3=B6m?= Date: Sun, 8 Mar 2020 09:31:21 +0100 Subject: [PATCH 2/2] Set theme jekyll-theme-cayman --- _config.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 _config.yml 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