eventify-primitives

Crates.ioeventify-primitives
lib.rseventify-primitives
version0.0.2-beta
sourcesrc
created_at2023-12-16 16:44:05.813023
updated_at2024-06-21 15:24:48.220697
descriptionLedger event pipeline
homepagehttps://github.com/lbkolev/eventify
repositoryhttps://github.com/lbkolev/eventify
max_upload_size
id1071847
size157,917
lachezar kolev (lbkolev)

documentation

https://docs.rs/eventify

README

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

Supported Events

  • :block
  • :log_erc20_transfera
  • :log_erc20_approval
  • :log_erc721_transfer
  • :log_erc721_approval
  • :log_erc721_approval_for_all
  • :log_erc777_sent
  • :log_erc777_minted
  • :log_erc777_burned
  • :log_erc777_authorized_operator
  • :log_erc777_revoked_operator
  • :log_erc1155_transfer_single
  • :log_erc1155_transfer_batch
  • :log_erc1155_uri
  • :log_erc4626_deposit
  • :log_erc4626_withdraw
  • :log (everything that doesn't match the cherrypicked ones above)

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.
Commit count: 111

cargo fmt