https://github.com/blockworks-foundation/geyser-grpc-connector
Connect to Solana Validators using the yellowstone-grpc geyser plugin via gRPC
https://github.com/blockworks-foundation/geyser-grpc-connector
Last synced: about 1 month ago
JSON representation
Connect to Solana Validators using the yellowstone-grpc geyser plugin via gRPC
- Host: GitHub
- URL: https://github.com/blockworks-foundation/geyser-grpc-connector
- Owner: blockworks-foundation
- License: apache-2.0
- Created: 2023-12-12T09:56:55.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-24T09:45:39.000Z (about 2 months ago)
- Last Synced: 2025-03-28T09:11:10.511Z (about 2 months ago)
- Language: Rust
- Size: 485 KB
- Stars: 16
- Watchers: 4
- Forks: 10
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Solana Geyser gRPC Multiplexing and Reconnect
This project provides multiplexing of multiple [Yellowstone gRPC](https://github.com/rpcpool/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](https://github.com/blockworks-foundation/lite-rpc) 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](https://github.com/blockworks-foundation/geyser-grpc-connector/issues/new).
## Versions
These are the currently maintained versions of the library: [see Wiki](https://github.com/blockworks-foundation/geyser-grpc-connector/wiki)## Installation and Usage
```cargo add geyser-grpc-connector ```
An example how to use the library is provided in `stream_blocks_mainnet_stream.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.