Go to file
GroovieGermanikus 0a5aaf4846
log size
2024-04-18 17:39:59 +02:00
.github/workflows move mock code 2023-12-15 10:20:41 +01:00
ci add missing rust-version.sh 2023-12-15 10:13:35 +01:00
examples log size 2024-04-18 17:39:59 +02:00
src stream: replace panic with log+reconnect 2024-03-22 10:56:40 +01:00
.gitignore gitignore 2023-12-15 10:28:49 +01:00
Cargo.lock wip 2024-03-22 10:06:19 +01:00
Cargo.toml wip 2024-03-22 10:06:19 +01:00
LICENSE add license file 2023-12-20 09:45:34 +01:00
README.md add version info 2024-04-16 15:59:52 +02:00
rust-toolchain.toml clippy+fmt 2024-01-31 18:53:07 +01:00

README.md

Solana Geyser gRPC Multiplexing and Reconnect

This project provides multiplexing of multiple Yellowstone gRPC subscriptions based on Fastest Wins Strategy.

  • Multiple Futures get merged where the first next block that arrives will be emitted.
  • No guarantees are made about if the messages are continuous or not.
  • Reconnects are handled transparently inside the Futures.

Disclaimer: The library is designed with the needs of LiteRPC in mind yet might be useful for other projects as well.

The implementation is based on Rust Futures.

Please open an issue if you have any questions or suggestions -> New Issue.

Versions

These are the currently maintained versions of the library

Tag (geyser-grpc-connector) Yellowstone Solana Branch
0.10.x+yellowstone.1.13+solana.1.17.28 1.13 1.17.28 release/v0.10.x+yellowstone.1.13
0.10.x+yellowstone.1.12+solana.1.17.15 1.12 1.17.15 main

Installation and Usage

cargo add geyser-grpc-connector

An example how to use the library is provided in stream_blocks_mainnet.rs.

Known issues

  • Library does not support other data than Blocks/Slots very well.
  • Should not be used with commitment level PROCESSED because slot numbers are not monotoic.
  • Library needs messages to be in order and provide slot information to work properly.