anza-xyz / agave

Web-Scale Blockchain for fast, secure, scalable, decentralized apps and marketplaces.
https://www.anza.xyz/
Apache License 2.0
352 stars 156 forks source link

geyser: add more slot statuses like FirstShredReceived, CreatedBank #2957

Open fanatid opened 2 weeks ago

fanatid commented 2 weeks ago

Problem

It's not possible to implement a fully compatible Solana/Agave WebSocket (PubSub) replacement based on geyser. We only have access to processed / confirmed / finalized but with WebSocket additionally we have access to FirstShredReceived / Completed CreatedBank / Dead (https://github.com/anza-xyz/agave/blob/v2.0.10/rpc-client-api/src/response.rs#L187-L221). For example in https://github.com/Block-Logic/ping-thing-client we rely on FirstShredReceived to benchmark transaction landing and we would like to switch to geyser based tools.

Proposed Solution

Add more statuses to geyser.

cc @lijunwangs

lijunwangs commented 2 weeks ago

These seems to be some "new" slot status sate. We should be able to support it in Geyser -- will come up with a PR soon.

fanatid commented 1 week ago

A related issue in the original repo https://github.com/solana-labs/solana/issues/32958