二、功能集(Feature Sets)
Kubo
Kubo 将自己描述为一个具有广泛 API 的"通用型"实现,其功能集反映了这一点。虽然这些功能中的许多都可以在其他实现之上构建,但 Kubo 的亮点在于它"开箱即用"地支持这些功能,作为一个独立进程,无需额外的编码或应用程序。
显著功能包括:
- 通过 Kubo 配置提供的广泛配置选项,支持以下功能:
- API 限制和访问控制
- 资源限制/调优
- 内置 HTTP RPC API,用于与 Kubo 和 IPFS 网络的其余部分交互
- 内置 CLI 访问 Kubo API
- 内置 IPFS 网关
- 能够自动将固定(pins)复制到外部固定服务
---
Helia
Helia 最强大的功能是能够被配置和运行为原生 JS 应用程序的一部分。这使它能够轻松地在浏览器中运行,这是其他 IPFS 实现目前无法做到的,除非进行非常有创意的工程工作。
我们之前提到 Helia 旨在轻量级和模块化。这意味着 Helia 对于自身包含的内容非常谨慎。从功能集的角度来看,这意味着 Helia 本身由核心包组成,外部库可以与之交互以添加功能。
如果开发者需要额外的功能,他们可以选择引入接口库来满足他们的需求。Helia 团队还维护着一组提供 Kubo 等实现中常见的"标准"IPFS 功能的库。
这种方法使 Helia 团队能够升级 Helia 的核心组件,而无需担心破坏外部库,只要这些库继续遵守 Helia 实现规范。
---
Elastic-IPFS
Elastic-IPFS 在功能丰富性方面可能有所欠缺。它做两件事,但它做得非常好:
- 存储 IPFS 内容
- 提供 IPFS 内容
这一点,加上 Elastic-IPFS 的云原生设置,意味着运维人员可以在无停机的情况下更新和修改其 IPFS 设置的某些部分,因为 Elastic-IPFS 只是一起工作的无服务器组件的组合,充当一个巨大的 IPFS 提供者。这相对于 Kubo 等实现来说是一个优势,因为 Kubo 需要重启/停机才能接收更新。
使用 Elastic-IPFS 等云原生 IPFS 实现的其他好处是,运维人员可以利用额外的云工具来实现以下功能:
- 增强的日志记录/可观察性
- 网络保护
- 数据备份/删除保护