# 什么是Singularity

Singularity提供了一种端到端的解决方案，旨在简化将数据集上载到Filecoin存储提供者的过程。作为一个容纳大规模数据的能力，Singularity集成了一切必要的内容，以便实现高效的批量上载。

Singularity的独特之处在于其模块化设计。这确保了与各种数据准备和交易工具和服务的兼容性。

迄今为止，Singularity用户已成功将超过140 PiB的数据上载到Filecoin存储提供者，使其成为Filecoin社区内领先的数据准备工具。

## 数据准备

配备了专门的数据准备模块，Singularity可以处理来自本地文件系统或远程存储服务的数据。通过将任务分布到多个数据准备工作节点上，Singularity实现了令人印象深刻的水平扩展性。

### 与40多个存储解决方案的兼容性

Singularity作为唯一一个与超过40个各种各样的远程存储服务连接的工具，脱颖而出。这包括热门的消费产品如Dropbox和Google Drive，以及企业级解决方案如AWS S3，Azure Blob Storage，FTP，HDFS等。这种兼容性确保了与用户现有存储设置的无缝集成。

### 革命性的联机准备功能

Singularity引入了联机准备的概念，消除了存储CAR文件所需的额外磁盘空间。取而代之的是，维护一个元数据数据库，将CAR文件与其原始数据源进行链接。这使得存储提供者可以直接从这些原始来源导入内容。

### 保护数据集完整性

用户会很喜欢Singularity保持数据集的层次结构的能力。文件夹结构和文件版本保持不变，便于通过路径轻松导航和检索文件。

## 内容分发

除了准备工作，Singularity还兼具灵活的存储提供者功能，消除了传统存储提供者操作，如密封和证明。用户可以使用一系列协议（包括Graphsync、HTTP和Bitswap）轻松下载Singularity中的CAR文件或原始文件。

### 高效的CAR文件分发

通过联机准备，存储提供者可以迅速从Singularity下载CAR文件。它可以优化地直接从原始数据源中流式传输CAR文件。这个流程还可以与Boost市场交易集成，并且支持多线程。

### 便捷的内容检索

对于所有已准备好的文件，Singularity提供Graphsync/HTTP/Bitswap检索。这个功能使Singularity成为传统存储提供者的替代方案，无需存储证明。

## 交易处理

对于当前版本，Singularity要求用户提供自己的存储提供者列表，以便接受交易。用户可以选择两种交易处理模式：

### 推送模式

在这种模式下，Singularity客户端决定交易分配的方法，无论是一次性批处理还是定期任务。他们可以预设每个时间间隔的交易数量，指定最大交易量或交易大小，并定义可允许的在途交易数量。在交易被取消、到期或在链上消失的情况下，Singularity还负责管理交易的续签。

### 拉取模式

这种模式赋予了存储提供者更多的独立权力。只要与Singularity客户端定义的策略相符，并且存储提供者在批准列表上，他们就可以独立请求交易提案。

### 钱包管理

Singularity还提供了强大的钱包管理功能。用户可以使用私钥导入他们的Filecoin钱包，并将多个钱包关联到一个数据集。每个钱包定期进行数据容量检查，以确保在钱包之间实现最佳负载平衡。
