StreamingFast
is an Open Source suite of products that enables low-latency, real-time processing
of blockchain data streams, allows for massively parallelizable operations over historical
data, and provides the robustness and reliability required by the most demanding loads.
It is protocol-aware, supports multiple chain protocols and can be used to build higher-order blockchain data services.
StreamingFast
products include a powerful real-time search engine
(StreamingFast Search), mempool
management technologies (StreamingFast Lifecycle), historical state services
and several specialized indexers.
Each blockchain protocol has its own installation method. See section below.
Here's a list of blockchain protocols that integrate with the StreamingFast stack:
The StreamingFast platform is composed of multiple open-source repositories. Here is a breakdown.
Top-tier products / solutions:
- StreamingFast Search, distributed, real-time, fork-aware, general purpose search engine.
- StreamingFast FluxDB, state snapshotting service for EOSIO.
- EOSIO Websocket interface
- EOSIO Push Guarantee
- EOSIO Transaction Lifecycle
- EOSIO Blockchain node manager
- EOSIO Point-in-time recovery backup solution (for EOSIO state & blocks files)
- Ethereum Transaction Lifecycle service, coming as Open Source soon
- Ethereum Historical State service, coming as Open Source soon
- Ethereum Speculative EVM execution engine, coming as Open Source soon
Common interfaces:
- gRPC service definitions and common Protobuf data models.
- Common GraphQL service (see protocol-specific resolvers and schemas)
- REST + WS for EOSIO
Second-tier service mesh:
- merger, collecting all forks info, for high-availability deployments.
- relayer, streaming blocks relayer, for high-availaibility deployments.
- block metadata service, offers fast access to the state of the chain's blocks, aware of on-going forks, finality, etc.
Documentation:
- The StreamingFast docs rendered at https://docs.dfuse.io
Building blocks:
More general purpose Go tooling provided by StreamingFast
:
- Errors management library
- Object storage abstraction
- Binary file packer
- gRPC tools
- Authentication Plugins Interfaces
- Consumption & Metering Plugins Interface
- Mesh Service Discovery library (used by Search)
- Simple obfuscation library
All StreamingFast
components are generally Apache 2.0 licensed. See repositories for details.