frdl / cta
PHP的内容寻址存储。
v0.0.1
2022-09-10 13:43 UTC
Requires
- php: >=7.1 | >=8.0
- frdl/context: >=0.3.0.1
README
PHP的内容寻址存储。 工作中! (ALPHA版本)
想法
保存内容
- 将内容拆分为块(长度相等)/保存到块存储
- 将块哈希连接到文件存储条目
- 将标题行和文件存储条目CTA-哈希保存到Uri存储
读取/服务内容
- 从Uri存储中服务标题行(如果针对浏览器/下载)
- 在Uri存储中查找文件存储条目
- 在文件存储中查找块哈希
- 从块存储中将块连接到输出内容
规范
内容寻址 - 1.3.6.1.4.1.37553.8.1.8.1.16606
- 1.3.6.1.4.1.37553.8.1.8.1.16606 - CTA范例,其中我们不跟踪哈希冲突。
- 1.3.6.1.4.1.37553.8.1.8.1.16606.1.56234465 - 为了减少冲突的可能性,我们存储哈希和内容大小。
- 1.3.6.1.4.1.37553.8.1.8.1.16606.1.27200801029 - 文件/内容被保存为相同大小/长度的块。
服务器 - frdl\cta\Server::class
- Uri存储,我们在这里存储引用:uri[hash]<->file[hash]<->chunks[hashes]
- Uri存储,我们在这里存储(可能服务)与文件关联的标题。