frdl/cta

Content-addressable storage for PHP.

v0.0.1 2022-09-10 13:43 UTC

This package is auto-updated.

Last update: 2024-10-29 06:36:35 UTC


README

Content-addressable storage for PHP. work in progress! (ALPHA version)

Idea

Save Contents

  • Split Contents into chunks (of equal length)/save to ChunkStorage
  • Concat ChunkHashes into FileStorage Entry
  • Save header lines and FileStorage Entry CTA-Hash into UriStorage

Read/Serve Contents

  • Serve header lines from UriStorage (if for Browser/Download)
  • Look up FileStorage Entry in UriStorage
  • Look up ChunkHashes in FileStorage
  • Concat chunks from ChunkStorage to output contents

spec

content-addressable - 1.3.6.1.4.1.37553.8.1.8.1.16606

Server - frdl\cta\Server::class

  • UriStorage where we store references: uri[hash]<->file[hash]<->chunks[hashes]
  • UriStorage where we store (and may serve) headers associated to a file.