Skip to content

Commit 5e8ec53

Browse files
TMoMoreauElPaisano2color
authored
ipfs-implementations.md: separate list into active / inactive, rewrite intro copy(#1456)
Co-authored-by: ElPaisano <[email protected]> Co-authored-by: Daniel Norman <[email protected]>
1 parent 7a710b9 commit 5e8ec53

File tree

1 file changed

+17
-10
lines changed

1 file changed

+17
-10
lines changed

docs/concepts/ipfs-implementations.md

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,41 +5,48 @@ description: "There isn't just one canonical IPFS implementation. Learn about th
55

66
# IPFS Implementations
77

8-
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!
8+
IPFS is an open-source project that encourages the development of multiple implementations of the protocol, each of which seeks to optimize for various use cases. Below is non-exhaustive list of IPFS implementations, grouped by development and maintenance status ([active](#actively-maintained) and [inactive](#inactive)) and ordered alphabetically. If you're aware of more implementations, [edit this page in GitHub](https://github.com/ipfs/ipfs-docs/edit/main/docs/concepts/ipfs-implementations.md) or [open an issue](https://github.com/ipfs/ipfs-docs/issues/new?assignees=&labels=need%2Ftriage&template=open_an_issue.md&title=IPFS%20Implementations) to have the list updated.
99

1010
::: tip
1111
Looking into implementing IPFS yourself?
12-
Relevant specifications are listed in [ipfs/specs](https://github.com/ipfs/specs/).
12+
See the official [IPFS Specifications](https://github.com/ipfs/specs/).
1313
:::
1414

15+
## Actively maintained
16+
1517
| Name | URL | Language(s) | What it's trying to do |
1618
|------------------|-------------------------------------------------------------------------|------------------------|--------------------------------------------------------------------------------------------------------------------------|
1719
| auspinner | <https://github.com/2color/auspinner> | go | CLI tool to deal with the pinning service API and upload files through bitswap. |
18-
| Agregore | <https://github.com/AgregoreWeb/agregore-ipfs-daemon> | go, javascript | Mobile friendly Kubo daemon. |
19-
| barge | <https://github.com/application-research/estuary/tree/master/cmd/barge> | go | CLI tool with a git like workflow to upload deltas to estuary. |
20+
| barge | <https://github.com/application-research/barge> | go | CLI tool with a git like workflow to upload deltas to estuary. |
2021
| Boost | <https://github.com/filecoin-project/boost> | go | Daemon to get IPFS data in and out of a Filecoin storage provider. |
2122
| Elastic provider | <https://github.com/ipfs-elastic-provider/ipfs-elastic-provider> | javascript, typescript | Scallable Cloud-Native implementation. |
2223
| Estuary | <https://github.com/application-research/estuary/> | go | Daemon oriented service to pin and onboard IPFS data into Filecoin. |
2324
| gomobile-ipfs | <https://github.com/ipfs-shipyard/gomobile-ipfs> | go | Library oriented ipfs daemon to help embeding Kubo into a mobile app. |
2425
| ipfs cluster | <https://github.com/ipfs/ipfs-cluster> | go | CRDT / Raft consensus between some more less trusted nodes to allocate and synchronise a pinset on multiple IPFS nodes. |
25-
| ipfs tiny | <https://gitlab.com/librespacefoundation/ipfs-tiny> | c++ | Tiny embeddable, os-independent IPFS implementation. |
2626
| ipfs-embed | <https://github.com/ipfs-rust/ipfs-embed> | rust | Small embeddable ipfs implementation. |
2727
| ipfs-lite | <https://github.com/hsanjuan/ipfs-lite> | go | Minimal library oriented ipfs daemon building on the same blocks as Kubo but with a minimal glue layer. |
2828
| ipfs-nucleus | <https://github.com/peergos/ipfs-nucleus/>  | go | Minimal IPFS replacement for P2P IPLD apps. |
29-
| ipget | <https://github.com/ipfs/ipget> | go | Minimal wget insipired tool to download files from IPFS nodes over bitswap. |
3029
| iroh | <https://github.com/n0-computer/iroh> | rust | Extreme-Efficiency oriented IPFS implementation. |
3130
| js-ipfs | <https://github.com/ipfs/js-ipfs> | javascript, typescript | Javascript implementation targeting nodejs and browsers. [**Development of js-ipfs is being discontinued**](#js-ipfs-being-discontinued). |
3231
| Kubo | <https://github.com/ipfs/kubo> | go | Generalist daemon oriented IPFS implementation with an extensive HTTP API. |
33-
| Linux2ipfs | <https://github.com/Jorropo/linux2ipfs> | go | Small pipeline and extreme-performance oriented implementation to upload files and deltas to pinning services very fast. |
3432
| Lotus | <https://github.com/filecoin-project/lotus> | go | Filecoin node handling consensus, storage providing, making storage deals, importing data, ... |
35-
| py-ipfs | <https://github.com/ipfs-shipyard/py-ipfs> | python | Python IPFS implementation. |
36-
| rust-ipfs | <https://github.com/rs-ipfs/rust-ipfs> | rust | Rust IPFS implementation. |
3733
| whypfs | <https://github.com/whyrusleeping/whypfs> | go | Daemon based on the same building blocks as Kubo but with some options tweaking for more performance. |
3834

3935
:::warning
4036
### js-ipfs being discontinued
4137
Development of the [js-ipfs project](https://github.com/ipfs/js-ipfs) is being discontinued to focus on [Helia](https://github.com/ipfs/helia), a leaner, more modular, modern implementation of IPFS in JavaScript scheduled for release in 2023. To learn more about Helia and the current state of IPFS in JS, see the [blog post](https://blog.ipfs.tech/state-of-ipfs-in-js/).
4238

4339
Because of this, js-ipfs tutorials may be out of date, and will eventually be archived.
40+
:::
41+
42+
## Inactive
4443

45-
:::
44+
| Name | URL | Language(s) | What it's trying to do |
45+
|------------------|-------------------------------------------------------------------------|------------------------|--------------------------------------------------------------------------------------------------------------------------|
46+
| Agregore | <https://github.com/AgregoreWeb/agregore-ipfs-daemon> | go, javascript | Mobile friendly Kubo daemon. |
47+
| ipfs tiny | <https://gitlab.com/librespacefoundation/ipfs-tiny> | c++ | Tiny embeddable, os-independent IPFS implementation. |
48+
| ipget | <https://github.com/ipfs/ipget> | go | Minimal wget inspired tool to download files from IPFS nodes over bitswap. |
49+
| Linux2ipfs | <https://github.com/Jorropo/linux2ipfs> | go | Small pipeline and extreme-performance oriented implementation to upload files and deltas to pinning services very fast. |
50+
| py-ipfs | <https://github.com/ipfs-shipyard/py-ipfs> | python | Python IPFS implementation. |
51+
| rust-ipfs | <https://github.com/rs-ipfs/rust-ipfs> | rust | Rust IPFS implementation. |
52+
| whypfs | <https://github.com/whyrusleeping/whypfs> | go | Daemon based on the same building blocks as Kubo but with some options tweaking for more performance. |

0 commit comments

Comments
 (0)