> For the complete documentation index, see [llms.txt](https://docs.old-faithful.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.old-faithful.net/running-old-faithful/installation-and-setup/preparing-data.md).

# Preparing Data

Every epoch that you wish to host in Old Faithful requires at least the following files to be available to the `faithful-rpc` process:

* Epoch CAR
* Indexes:
  * `slot-to-cid`
  * `tx-to-cid`
  * `cid-to-offset-and-size`
  * `sig-exists`
  * Optionally, `gsfa` if you wish to use `getSignaturesForAddress`&#x20;

How you source these is up to you! Old Faithful is designed to allow flexibility in which epochs you wish to support, and what type of storage it's located on.

{% hint style="warning" %}

### GSFA Index

The GSFA index stores a mapping of every signature for every address in that epoch, and can be used to quickly find all the transactions associated with a specified address across the Old Faithful dataset.\
\
Because of this fast random read requirement, it is \*highly\* suggested to store the `gsfa` indexes on a local NVMe disk for best performance, especially when hosting a large number of epochs.
{% endhint %}

### Supported Transport Protocols

Old Faithful supports local filesystem, HTTP/HTTPS (including S3), and Filecoin for CAR file and index storage.

Detailed instructions for each transport protocol can be found at:

* [OF1](/running-old-faithful/sourcing-data/of1.md)
* [Filecoin](/running-old-faithful/sourcing-data/filecoin.md)
* [Generating from RocksDB](/running-old-faithful/sourcing-data/generating-from-rocksdb.md)
