#ipfs #node #block-store #p2p #content #unique #pubsub

rust-ipfs

IPFS node implementation

54 releases (8 breaking)

new 0.11.8 Apr 21, 2024
0.11.4 Mar 21, 2024
0.9.0 Dec 19, 2023
0.8.1 Nov 27, 2023
0.3.0-alpha Dec 8, 2022

#183 in Network programming

Download history 132/week @ 2024-01-03 190/week @ 2024-01-10 249/week @ 2024-01-17 393/week @ 2024-01-24 852/week @ 2024-01-31 367/week @ 2024-02-07 498/week @ 2024-02-14 701/week @ 2024-02-21 692/week @ 2024-02-28 1179/week @ 2024-03-06 672/week @ 2024-03-13 1024/week @ 2024-03-20 280/week @ 2024-03-27 191/week @ 2024-04-03 397/week @ 2024-04-10 634/week @ 2024-04-17

1,584 downloads per month
Used in ipfs-server

MIT/Apache

1MB
25K SLoC


Rust IPFS

The Interplanetary File System (IPFS), implemented in Rust

Table of Contents

Description

This repository is a fork of rust-ipfs, which contains the crates for the IPFS core implementation which includes a blockstore, a libp2p integration which includes DHT content discovery and pubsub support Our goal is to leverage both the unique properties of Rust to create powerful, performant software that works even in resource-constrained environments, while also maximizing interoperability with the other "flavors" of IPFS, namely JavaScript and Go.

Project Status - Alpha

This project is a WIP and everything is subject to change

For more information about IPFS see: https://docs.ipfs.io/introduction/overview/

Getting started

We recommend browsing the examples and tests in order to see how to use Rust-IPFS in different scenarios.

Note: Test are a WIP

Running the tests

For information on running test, please see the archived readme. This may be outdated but this section will be updated in the future

Contributing

See the contributing docs for more info.

If you have any questions on the use of the library or other inquiries, you are welcome to submit an issue.

Roadmap

Completed API Work

  • Pubsub

For previous completed work, please see the archived readme.

Maintainers

Rust IPFS was originally authored by @dvc94ch and was maintained by @koivunej, and @aphelionz, but now is maintained by @dariusc93.

For maintainers please see the archived readme.

It’s been noted that the Rust-IPFS name and popularity may serve its organization from a "first-mover" perspective. However, alternatives with different philosophies do exist, and we believe that supporting a diverse IPFS community is important and will ultimately help produce the best solution possible.

If you know of another implementation or another cool project adjacent to these efforts, let us know!

Contributors

For previous/original contributors, please see the archived readme.

License

Dual licensed under MIT or Apache License (Version 2.0). See LICENSE-MIT and LICENSE-APACHE for more details.

Trademarks

The Rust logo and wordmark are trademarks owned and protected by the Rust Foundation. The Rust and Cargo logos (bitmap and vector) are owned by Rust Foundation and distributed under the terms of the Creative Commons Attribution license (CC-BY).

Dependencies

~10–51MB
~870K SLoC