geyser-grpc-connector/README.md

39 lines
1.7 KiB
Markdown
Raw Permalink Normal View History

2023-12-15 00:41:02 -08:00
2023-12-20 00:06:06 -08:00
## 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_.
2023-12-15 00:41:02 -08:00
2023-12-20 00:06:06 -08:00
* 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.
2023-12-22 08:21:26 -08:00
* __Reconnects__ are handled transparently inside the _Futures_.
2023-12-20 00:06:06 -08:00
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).
2024-04-16 06:59:52 -07:00
## 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 |
2024-01-02 09:23:35 -08:00
## Installation and Usage
```cargo add geyser-grpc-connector ```
2023-12-20 00:06:06 -08:00
An example how to use the library is provided in `stream_blocks_mainnet.rs`.
## Known issues
2023-12-22 08:21:26 -08:00
* 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.
2023-12-20 00:06:06 -08:00
* Library needs messages to be in order and provide slot information to work properly.
2023-12-15 00:41:02 -08:00