Skip to content

Implement interface for publishing encrypted records to distributed storage #4

@veryCrunchy

Description

@veryCrunchy

Design and implement a Rust trait and module for publishing encrypted uptime/downtime records to the chosen distributed backend (e.g., IPFS or libp2p DHT). The interface should:

  • Accept already-encrypted records as input (struct EncryptedRecord).
  • Upload (publish) records to the network, returning a unique content-addressed hash (CID).
  • Support metadata for lookup (e.g., tags, timestamps, node ID).
  • Abstract over specific backends for easy swapping (e.g., IPFS, libp2p DHT).
  • Include unit/integration tests using mock or local IPFS nodes.

Implementation Suggestions:

  • Define a trait DistributedStorage with async methods: publish, fetch, pin, unpin.
  • Use crates: ipfs-api, rust-libp2p, or rust-ipfs.
  • Use serde for serialization.
  • Ensure all data remains encrypted in transit/storage.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions