System Requirements
StreamingFast Firehose System Requirements

Firehose is extremely elastic and can support networks of varied sizes and shapes.

Firehose is very heavy on data. Ensure to gain a solid understanding of the different data stores, artifacts, and databases required for operation.

Deployment efforts will match the size of history, and the density of the blockchain being consumed.

Requirements for different shapes of networks are as follows.

In order to scale easily, components that run in a single process need to be decoupled.
The storage requirements will vary depending on the following metrics.
  • History length - The status of whether or not all the blocks are serving through Firehose.
  • Throughput in transactions and calls - Calls on Ethereum are the smallest units of execution to produce meaningful data, transaction overhead becomes negligible once you have two or three calls in a transaction. A single ERC20 transfer generally has one call, or two calls when there is a proxy contract involved. In addition, Uniswap swap transactions are usually composed of a few dozen of calls.

The CPU/RAM requirements will depend on these factors:
  • High Availability - Highly available deployments will require two, or more times the resources listed in the following examples, as a general rule.
  • Throughput of queries - Firehose is built for horizontal scalability. As the need for requests per second increase the deployment increases in size and more CPU/RAM is required in the deployment cluster.
Copy link
On this page
System Requirements
Network shapes