LogoLogo
  • Firehose
  • Introduction
    • Firehose Overview
    • Prerequisites
  • Architecture
    • Components
      • Firehose-enabled Node
      • Reader
      • Merger
      • Relayer
      • gRPC Server
      • High Availability
    • Data Flow
    • Data Storage
  • Firehose Setup
    • Overview
    • Ethereum
      • Installation
      • Single-Machine Deployment
      • Reprocessing history
      • Synchronization
    • Injective
      • Single-Machine Deployment
    • NEAR
      • Single-Machine Deployment
    • Solana
      • Single-machine Deployment
    • System Requirements
  • Community Integrations
    • Starknet
      • Networks and nodes
      • Local deployment with Docker
      • Local deployment without Docker
  • Integrate New Chains
    • Benefits
    • Integration overview
    • Design Principles
    • Firehose Acme
  • References
    • Supported Protocols
    • Naming Conventions
    • Schemas
    • Indexing
    • FAQ
  • Release Notes
    • Change logs
      • Nov 8th 2023 Polygon Update
Powered by GitBook
On this page
  • The Firecore
  • The Chain-Specific Binary
  • Instrumented Node or RPC

Was this helpful?

Edit on GitHub
  1. Firehose Setup

Overview

PreviousData StorageNextEthereum

Last updated 6 months ago

Was this helpful?

Usually, to set up a Firehose environment you need:

  • A binary, which spins up the different components needed (reader, merger, relayer...).

  • A Firehose chain-specific binary, which is used as a bridge between Firecore and the blockchain.

  • A full instrumented node or an RPC to fetch the blockchain data.

The Firecore

Firecore allows you to spin up all the different Firehose component needed, such as the reader or the relayer. The Firecore is a binary exported in the form of a CLI, so you can easily interact with it.

You can download the latest version of Firecore from the .

The Chain-Specific Binary

Every chain has a different data model (e.g. Ethereum vs Solana), therefore, Firehose needs to extract the data of every blockchain differently. In order for Firehose to support a new chain, a new extraction layer must be created. This extraction layer is then used by Firecore to interact with the different base components.

Essentially, Firecore acts as the coordinator and uses the chain-specific binary. Some examples of chain-specific binaries are or .

Instrumented Node or RPC

Firehose is only an extraction engine, so you still have to provide a valid source of data. There are two modes in which Firehose can extract data:

- Instrumented Node: in this case, you run a full blockchain node (e.g. geth for Ethereum). Note that this requires the node to share the same instrumentation interface used by Firehose, so that it is possible to extract all the data required.

- RPC Poller: in this case, you are DO NOT run the full node, but rely on the RPC API of the blockchain, which usually offers you a poorer data model.

Firecore
release page of GitHub
firehose-ethereum
firehose-solana