Skip to main content

Synopsis

Volumes are CIP-9 encrypted object stores. Each volume has an owner, a name (alphanumeric, -, _, . only, max 256 bytes), and a set of runners that store encrypted chunks. The CLI is a thin wrapper around the cbfs-mount and cbfs-cat binaries for chain-aware key resolution.

Subcommands

cowboy volume mount

Mount a CBFS volume as a FUSE filesystem. Behavior:
  1. Look up the volume record on-chain for the owner + name.
  2. Resolve the volume’s encryption key (from --key-file if supplied, or derived from the owner’s private key).
  3. Invoke cbfs-mount with the runner set and key to present the volume at --mount-point.
Flags:

cowboy volume cat

Read a single file from a volume without mounting. Behavior:
  1. Look up the volume record and resolve the encryption key (as above).
  2. Invoke cbfs-cat for the specified path, writing bytes to --output or stdout.
Flags:

cowboy volume info

Show on-chain metadata for a volume: owner, runner set, quota, and manifest root. Flags:

Example

Edge Cases

  • Invalid name — Names outside the allowed alphabet (alphanumeric + -_. ) are rejected before any RPC call.
  • Missing cbfs binaries — Commands fail fast with a clear “cbfs-mount not found on PATH” error. Override with --cbfs-mount / --cbfs-cat.
  • Unauthorised reader — If the caller isn’t the owner and has no entitlement, key resolution fails locally (the encrypted chunks are useless without a valid key).