0.2.1 2020年10月8日
0.2.0 2020年9月23日
0.0.0 2017年11月9日

#16 in #block-store

MIT/Apache

660KB
14K SLoC


Rust IPFS

星际文件系统(IPFS),用Rust实现

Financial Contributors on Open Collective standard-readme compliant Back on OpenCollective Matrix Discord

目录

描述

此存储库包含IPFS核心实现的crates,包括块存储、libp2p集成,包括DHT内容发现和pubsub支持,以及HTTP API绑定。我们的目标是利用Rust的独特属性来创建强大、性能卓越的软件,即使在资源受限的环境中也能工作,同时最大限度地与其他IPFS“风味”互操作,即JavaScript和Go。

项目状态 - Alpha

您可以在Are We IPFS Yet?查看已实现的内容、未实现的内容,并了解其他生态系统项目。

有关IPFS的更多信息,请参阅:https://docs.ipfs.io/introduction/overview/

安装

Rust IPFS依赖于protocopenssl

依赖项

首先,安装依赖项。

使用apt

# apt-get install protobuf-compiler libssl-dev zlib1g-dev

使用yum

# yum install protobuf-compiler libssl-dev zlib1g-dev

安装rust-ipfs本身

可以从源代码构建rust-ipfs二进制文件。我们的目标是始终与Rust的稳定版本兼容。

$ git clone https://github.com/rs-ipfs/rust-ipfs && cd rust-ipfs
$ cargo build --workspace

然后,您将在项目根目录的/target/debug文件夹中找到二进制文件。

注意:通过cargo install可用的二进制文件即将推出。

入门

我们建议浏览示例测试,以了解如何在不同的场景中使用Rust-IPFS。

路线图

特别感谢Web3基金会和Protocol Labs对其devgrant支持。

已完成的工作

  • 项目设置
  • 测试设置
    • 一致性测试
  • HTTP API框架
  • UnixFS支持
  • /pubsub/{publish,subscribe,peers,ls}
  • /swarm/{connect,peers,addrs,addrs/local,disconnect}
  • /id
  • /version
  • /shutdown
  • /block/{get,put,rm,stat}
  • /dag/{put,resolve}
  • /refs/refs/local
  • /bitswap/{stat,wantlist}
  • /cat
  • /get
  • /resolve

正在进行中

  • /bootstrap
  • /dht
  • 互操作性测试

仍需工作

  • /name
  • /ping
  • /key
  • /config
  • /stats
  • /files (常规和mfs)
  • 此处未列出的一些其他杂项端点

维护者

Rust IPFS最初由@dvc94ch编写,现在由@koivunej和@aphelionz积极维护。特别感谢Protocol LabsEquilibrium

已注意到Rust-IPFS的名称和知名度可能从“先行者”的角度为其组织服务。然而,存在具有不同哲学的替代方案,我们认为支持多元化的IPFS社区很重要,并将最终有助于产生最佳的解决方案。

  • rust-ipfs-api - 一个针对现有IPFS HTTP API的Rust客户端。支持hyper和actix。
  • ipfs-embed - 基于sled的实现
  • rust-ipld - 基本的Rust ipld库,支持dag-cbordag-jsondag-pb格式。
  • PolkaX的rust-ipfs
  • Parity的rust-libp2p,在这里做了很多繁重的工作

如果您知道其他实现或与这些努力相邻的其他有趣项目,请告诉我们!

贡献

有关更多信息,请参阅贡献文档

您还可以通过联系或成为OpenCollective的赞助者来财务上支持项目。

贡献者

代码贡献者

本项目之所以存在,归功于所有贡献者。[贡献]

财务贡献者

成为财务贡献者,帮助我们维持社区。[贡献]

个人

组织

用您的组织支持此项目。您的徽标将在此处显示,并带有链接到您的网站。[贡献]

许可

双许可MIT或Apache许可证(版本2.0)。有关详细信息,请参阅LICENSE-MITLICENSE-APACHE

商标

Rust标志和字标是Mozilla Foundation拥有的商标,并由其保护。Rust和Cargo标志(位图和矢量)归Mozilla所有,并按Creative Commons Attribution许可证(CC-BY)的条款分发。

依赖项

~17-30MB
~479K SLoC