组件

从开发人员的角度来看,一些 Walrus 组件是 Sui 上的对象和智能合约,一些组件是 Walrus 特定的二进制文件和服务。通常,Sui 用于管理 blob 和存储节点元数据,而 Walrus 特定的服务用于存储和读取 blob 内容,这些内容可能非常大。

Walrus 在 Sui 上定义了许多对象和智能合约:

  • 共享的 系统对象 记录和管理当前的存储节点委员会。
  • 存储资源 代表可用于存储 blob 的空存储空间。
  • Blob 资源 代表已注册并认证为存储的 blob。
  • 对这些对象的更改会发出 Walrus 相关事件

Walrus 系统对象 ID 可以在 Walrus client_config.yaml 文件中找到(请参阅 配置)。您可以使用任何 Sui explorer 查看其内容,并探索 blob 对象的内容。有关这些的更多信息,请参阅 Walrus Sui 结构快速参考

Walrus 还由许多 Walrus 特定的服务和二进制文件组成:

  • 客户端(二进制文件)可以在本地执行,并提供 命令行界面 (CLI)JSON APIHTTP API 以执行 Walrus 操作。
  • 聚合器服务允许通过 HTTP 请求读取 blob。
  • 发布者服务用于将 blob 存储到 Walrus。
  • 一组存储节点存储编码的 blob。这些节点构成了 Walrus 的去中心化存储基础设施。

聚合器、发布者和其他服务使用客户端 API 与 Walrus 交互。使用 Walrus 的服务的最终用户通过公开 HTTP API 的自定义服务、聚合器或发布者与存储交互,以避免在本地运行二进制客户端的需要。