From 90b5eea8d8e5fa60827c7ae1134234a43611c2e7 Mon Sep 17 00:00:00 2001 From: Steve Loeppky Date: Wed, 6 Jul 2022 23:42:42 -0700 Subject: [PATCH 1/9] Start of a bare-bones implementations page --- docs/concepts/ipfs-implementations | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 docs/concepts/ipfs-implementations diff --git a/docs/concepts/ipfs-implementations b/docs/concepts/ipfs-implementations new file mode 100644 index 000000000..23a29fd5e --- /dev/null +++ b/docs/concepts/ipfs-implementations @@ -0,0 +1,14 @@ +--- +title: IPFS Implementations +legacyUrl: ??? +description: Learn about the various IPFS implementations available for different usecases +--- + +There isn't one canonical IPFS implementation. +There is so much to explore in this space that it's ideal to have a plethora of implementations experimenting and optimizing for various usecases. +Below is a list of IPFS implementations. + +# How do I create and "register" another implementation? +1. Specs +2. Add PR here +3. Share in the IPFS community From b3f804622e02b9ab85522ca84236b178d5fa4957 Mon Sep 17 00:00:00 2001 From: Steve Loeppky Date: Fri, 8 Jul 2022 11:05:59 -0700 Subject: [PATCH 2/9] Delete in concepts since moving to Basics --- docs/concepts/ipfs-implementations | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 docs/concepts/ipfs-implementations diff --git a/docs/concepts/ipfs-implementations b/docs/concepts/ipfs-implementations deleted file mode 100644 index 23a29fd5e..000000000 --- a/docs/concepts/ipfs-implementations +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: IPFS Implementations -legacyUrl: ??? -description: Learn about the various IPFS implementations available for different usecases ---- - -There isn't one canonical IPFS implementation. -There is so much to explore in this space that it's ideal to have a plethora of implementations experimenting and optimizing for various usecases. -Below is a list of IPFS implementations. - -# How do I create and "register" another implementation? -1. Specs -2. Add PR here -3. Share in the IPFS community From 9405554a96836b6868efee7264c7445dbc84c85f Mon Sep 17 00:00:00 2001 From: Steve Loeppky Date: Fri, 8 Jul 2022 11:21:41 -0700 Subject: [PATCH 3/9] Add ipfs-implementations.md to basics --- docs/basics/ipfs-implementations.md | 32 +++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 docs/basics/ipfs-implementations.md diff --git a/docs/basics/ipfs-implementations.md b/docs/basics/ipfs-implementations.md new file mode 100644 index 000000000..aead19a57 --- /dev/null +++ b/docs/basics/ipfs-implementations.md @@ -0,0 +1,32 @@ +--- +title: IPFS Implementations +legacyUrl: ??? +description: Learn about the various IPFS implementations available for different usecases +--- + +**There isn't one canonical IPFS implementation.** +There is so much to explore in this space that it's ideal to have a plethora of implementations experimenting and optimizing for various usecases. +Below is a list of IPFS implementations that we know of in name alphabetical order. +If you're aware of more, please add! + +| Name | URL | Language(s) | +|-|-|-| +| Agregore | https://github.com/AgregoreWeb/agregore-ipfs-daemon | go,javascript | +| barge | https://github.com/application-research/estuary/tree/master/cmd/barge | go | +| Boost | https://github.com/filecoin-project/boost | go | +| Elastic provider | https://github.com/ipfs-elastic-provider/ipfs-elastic-provider | javascript,typescript | +| Estuary | https://github.com/application-research/estuary/ | go | +| gomobile-ipfs | https://github.com/ipfs-shipyard/gomobile-ipfs | go | +| ipfs cluster | https://github.com/ipfs/ipfs-cluster | go | +| ipfs tiny | https://gitlab.com/librespacefoundation/ipfs-tiny | c++ | +| ipfs-embed | https://github.com/ipfs-rust/ipfs-embed | rust | +| ipfs-lite | https://github.com/hsanjuan/ipfs-lite | go | +| ipfs-nucleus |  https://github.com/peergos/ipfs-nucleus/  | go | +| ipget | https://github.com/ipfs/ipget | go | +| iroh | https://github.com/n0-computer/iroh | rust | +| js-ipfs | https://github.com/ipfs/js-ipfs | javascript,typescript | +| Kubo | https://github.com/ipfs/kubo | go | +| Lotus | https://github.com/filecoin-project/lotus | go | +| py-ipfs | https://github.com/ipfs-shipyard/py-ipfs | python | +| rust-ipfs | https://github.com/rs-ipfs/rust-ipfs | rust | +| whypfs | https://github.com/whyrusleeping/whypfs | go | From b75666e62c2ee1622c62617078334ca8be5cc478 Mon Sep 17 00:00:00 2001 From: Steve Loeppky Date: Fri, 8 Jul 2022 11:26:51 -0700 Subject: [PATCH 4/9] Update basics/README.md --- docs/basics/README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/basics/README.md b/docs/basics/README.md index 8a45620d5..43f20956b 100644 --- a/docs/basics/README.md +++ b/docs/basics/README.md @@ -18,3 +18,7 @@ Have an idea of what IPFS is but haven't really used it before? You should start ![An IPFS daemon running in a terminal window.](./images/ipfs-command-line.png) If you're a bit more serious about IPFS and want to start poking around the command-line interfact (CLI), then this section is for you. No buttons or images here; [just good-old-fashioned CLI interfaces and pipeable commands →](./command-line.md) + +## Other implementations + +There are many other IPFS implementations than the onramps discussed above. [Check them out here!](./ipfs-implementations.md) From 87ea18efcb066937a5837b353d01584eb19e7738 Mon Sep 17 00:00:00 2001 From: Steve Loeppky Date: Fri, 8 Jul 2022 11:33:17 -0700 Subject: [PATCH 5/9] Update CLI instructions to denote they're for Kubo --- docs/basics/command-line.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/docs/basics/command-line.md b/docs/basics/command-line.md index 91bfde079..6195410cf 100644 --- a/docs/basics/command-line.md +++ b/docs/basics/command-line.md @@ -1,19 +1,21 @@ --- title: "Command-line" -description: "A simple walkthrough of how to perform basic IPFS operations using the command-line." +description: "A simple walkthrough of how to perform basic IPFS operations using the Kubo command-line." --- # Basic CLI Operations -This short guide aims to walk you through the basics of using IPFS with the CLI. You will learn how to add, retrieve, read, and remove files within the CLI. If you are unsure about the meaning of some terms, you can check out the [glossary](../concepts/glossary.md). +This short guide aims to walk you through the basics of using IPFS with the Kubo CLI. Kubo is [one of multiple IPFS implementations](.ipfs-implementations.md). It is the oldest IPFS implementation and exposes a CLI (among other things). + +You will learn how to add, retrieve, read, and remove files within the CLI. If you are unsure about the meaning of some terms, you can check out the [glossary](../concepts/glossary.md). All instructions and examples shown here were performed and tested on an M1 Mac. However, the IPFS commands are the same on Linux, macOS, and Windows. You will need to know how to navigate your computer's directories from within the CLI. If you're unsure how to use the CLI, we recommend learning how before continuing with this guide. -## Install IPFS +## Install Kubo -Next up, we need to install IPFS for the command-line. We have a great guide that will walk you through how to [install IPFS with the CLI](../install/command-line.md). +Next up, we need to install Kubo for the command-line. We have a great guide that will walk you through how to [install Kubo with the CLI](../install/command-line.md). -Once you have IPFS installed, we need to get our node up and running. If this is your first time using IPFS, you will first need to initialize the configuration files: +Once you have Kubo installed, we need to get our node up and running. If this is your first time using Kubo, you will first need to initialize the configuration files: ```shell ipfs init @@ -55,7 +57,7 @@ Do not close the CLI that you used to initialize your daemon. Only terminate the ## Add files -Now that we have our IPFS node up and running, we're ready to add files to IPFS. +Now that we have our Kubo IPFS node up and running, we're ready to add files to IPFS. 1. Within the CLI, navigate to the directory containing the file or folder you wish to share. In this example, we will navigate to the `~/Documents` directory: From 3d3fce92f0d8da8eeed9a7aef3a4b11c139477d9 Mon Sep 17 00:00:00 2001 From: Steve Loeppky Date: Fri, 8 Jul 2022 11:34:46 -0700 Subject: [PATCH 6/9] Remove legacyUrl section --- docs/basics/ipfs-implementations.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/basics/ipfs-implementations.md b/docs/basics/ipfs-implementations.md index aead19a57..be429875b 100644 --- a/docs/basics/ipfs-implementations.md +++ b/docs/basics/ipfs-implementations.md @@ -1,6 +1,5 @@ --- title: IPFS Implementations -legacyUrl: ??? description: Learn about the various IPFS implementations available for different usecases --- From 6a8fd8ed663dfd97b342839af1d6128e85f2e534 Mon Sep 17 00:00:00 2001 From: Steve Loeppky Date: Fri, 8 Jul 2022 11:36:33 -0700 Subject: [PATCH 7/9] Use properly formatted table headers --- docs/basics/ipfs-implementations.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/basics/ipfs-implementations.md b/docs/basics/ipfs-implementations.md index be429875b..ac0c619b7 100644 --- a/docs/basics/ipfs-implementations.md +++ b/docs/basics/ipfs-implementations.md @@ -9,11 +9,11 @@ Below is a list of IPFS implementations that we know of in name alphabetical ord If you're aware of more, please add! | Name | URL | Language(s) | -|-|-|-| -| Agregore | https://github.com/AgregoreWeb/agregore-ipfs-daemon | go,javascript | +|---|---|---| +| Agregore | https://github.com/AgregoreWeb/agregore-ipfs-daemon | go, javascript | | barge | https://github.com/application-research/estuary/tree/master/cmd/barge | go | | Boost | https://github.com/filecoin-project/boost | go | -| Elastic provider | https://github.com/ipfs-elastic-provider/ipfs-elastic-provider | javascript,typescript | +| Elastic provider | https://github.com/ipfs-elastic-provider/ipfs-elastic-provider | javascript, typescript | | Estuary | https://github.com/application-research/estuary/ | go | | gomobile-ipfs | https://github.com/ipfs-shipyard/gomobile-ipfs | go | | ipfs cluster | https://github.com/ipfs/ipfs-cluster | go | @@ -23,7 +23,7 @@ If you're aware of more, please add! | ipfs-nucleus |  https://github.com/peergos/ipfs-nucleus/  | go | | ipget | https://github.com/ipfs/ipget | go | | iroh | https://github.com/n0-computer/iroh | rust | -| js-ipfs | https://github.com/ipfs/js-ipfs | javascript,typescript | +| js-ipfs | https://github.com/ipfs/js-ipfs | javascript, typescript | | Kubo | https://github.com/ipfs/kubo | go | | Lotus | https://github.com/filecoin-project/lotus | go | | py-ipfs | https://github.com/ipfs-shipyard/py-ipfs | python | From de8b11750c2024b5e1cc7ef5ed32df7d32b7c1ce Mon Sep 17 00:00:00 2001 From: Marcin Rataj Date: Sun, 10 Jul 2022 20:12:05 +0200 Subject: [PATCH 8/9] chore: include basics/ipfs-implementations in menu --- docs/.vuepress/config.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index 67653c667..d5d8bf4f3 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -86,7 +86,8 @@ module.exports = { path: '/basics/', children: [ 'basics/desktop-app', - 'basics/command-line' + 'basics/command-line', + 'basics/ipfs-implementations' ] }, { From 401364ec288249062b8ea22ada7498cb8cda4b58 Mon Sep 17 00:00:00 2001 From: Marcin Rataj Date: Sun, 10 Jul 2022 20:24:20 +0200 Subject: [PATCH 9/9] fix: clickable links and link to ipfs/specs --- docs/basics/ipfs-implementations.md | 52 +++++++++++++++++------------ 1 file changed, 31 insertions(+), 21 deletions(-) diff --git a/docs/basics/ipfs-implementations.md b/docs/basics/ipfs-implementations.md index ac0c619b7..7d3d12e2b 100644 --- a/docs/basics/ipfs-implementations.md +++ b/docs/basics/ipfs-implementations.md @@ -3,29 +3,39 @@ title: IPFS Implementations description: Learn about the various IPFS implementations available for different usecases --- + **There isn't one canonical IPFS implementation.** + There is so much to explore in this space that it's ideal to have a plethora of implementations experimenting and optimizing for various usecases. + Below is a list of IPFS implementations that we know of in name alphabetical order. If you're aware of more, please add! -| Name | URL | Language(s) | -|---|---|---| -| Agregore | https://github.com/AgregoreWeb/agregore-ipfs-daemon | go, javascript | -| barge | https://github.com/application-research/estuary/tree/master/cmd/barge | go | -| Boost | https://github.com/filecoin-project/boost | go | -| Elastic provider | https://github.com/ipfs-elastic-provider/ipfs-elastic-provider | javascript, typescript | -| Estuary | https://github.com/application-research/estuary/ | go | -| gomobile-ipfs | https://github.com/ipfs-shipyard/gomobile-ipfs | go | -| ipfs cluster | https://github.com/ipfs/ipfs-cluster | go | -| ipfs tiny | https://gitlab.com/librespacefoundation/ipfs-tiny | c++ | -| ipfs-embed | https://github.com/ipfs-rust/ipfs-embed | rust | -| ipfs-lite | https://github.com/hsanjuan/ipfs-lite | go | -| ipfs-nucleus |  https://github.com/peergos/ipfs-nucleus/  | go | -| ipget | https://github.com/ipfs/ipget | go | -| iroh | https://github.com/n0-computer/iroh | rust | -| js-ipfs | https://github.com/ipfs/js-ipfs | javascript, typescript | -| Kubo | https://github.com/ipfs/kubo | go | -| Lotus | https://github.com/filecoin-project/lotus | go | -| py-ipfs | https://github.com/ipfs-shipyard/py-ipfs | python | -| rust-ipfs | https://github.com/rs-ipfs/rust-ipfs | rust | -| whypfs | https://github.com/whyrusleeping/whypfs | go | +::: tip +Looking into implementing IPFS yourself? +Relevant specifications are listed in [ipfs/specs](https://github.com/ipfs/specs/). +::: + + + +| Name | URL | Language(s) | +|------------------|-------------------------------------------------------------------------|------------------------| +| Agregore | | go, javascript | +| barge | | go | +| Boost | | go | +| Elastic provider | | javascript, typescript | +| Estuary | | go | +| gomobile-ipfs | | go | +| ipfs cluster | | go | +| ipfs tiny | | c++ | +| ipfs-embed | | rust | +| ipfs-lite | | go | +| ipfs-nucleus |   | go | +| ipget | | go | +| iroh | | rust | +| js-ipfs | | javascript, typescript | +| Kubo | | go | +| Lotus | | go | +| py-ipfs | | python | +| rust-ipfs | | rust | +| whypfs | | go |