Skip to content

lbkolev/eventify

Repository files navigation

Eventify

High level overview

Eventify High-Level Overview Diagram

Eventify is an event pipeline designed with the following objectives in mind:

  • Implementing an efficient event propagation mechanism.
  • Offering a robust and user-friendly means to consume live data.

Implemented ledgers

  • Ethereum
  • Zksync
  • Polygon
  • Optimism
  • Arbitrum
  • Linea
  • Avalanche
  • BSC
  • Base

Example usage

example configurations can be found at etc/configs/

Bring up the necessary services

docker-compose up -d postgres redis

Run eventify

RUST_LOG=INFO cargo r -- run --config etc/configs/stream-eth-all.toml
RUST_LOG=INFO cargo r -- run --collect=blocks --network=eth \
  --node-url="wss://eth.llamarpc.com" \
  --database-url="postgres://postgres:password@localhost:5432/eventify" \
  --queue-url="redis://localhost:6379"

Crates

Include the following:

  • eventify - Provides a CLI implementation that propagates the events to redis queues.
  • eventify-core - Holds the pipeline & clients implementation.
  • eventify-http-server - Exposes an HTTP server for the collected data. [wip 🚧]
  • eventify-primitives - Contains generic & concrete types for use by anything using to stream live data.
  • eventify-configs - Keeps configuration for some of the core types used throughout the event pipeline.