You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Right now if somebody wants to build an indexer based on geyser plugin they need to create a custom plugin and can't use gRPC plugin because geyser stream all accounts state only on the startup stage and it's not possible to get it later. With streaming all accounts it would be possible to create read layers outside of instance where node work.
Proposed Solution
agave:
stream all accounts by request (set is_startup to true?)
This can be achieved by replaying the states from a recent full snapshot and followed by incremental snapshots until the difference is small enough to cut over to the normal geyser plugin. This could have serious performance impact and can be opted in by explicit validator configuration.
Thus, I'm wondering why we can't do the same here ? Maybe going over "all slots" is not necessary in our case and just starting from the "latest slot" to the last full snapshot slot is enough ?
A Geyser request would then be added to the rpc_handler for the user to notify an willingness to start the stream process.
Problem
Right now if somebody wants to build an indexer based on geyser plugin they need to create a custom plugin and can't use gRPC plugin because geyser stream all accounts state only on the startup stage and it's not possible to get it later. With streaming all accounts it would be possible to create read layers outside of instance where node work.
Proposed Solution
agave:
is_startup
totrue
?)update_bank
to Geyser interface solana-labs/solana#32094), with bank it's possible to do much more than just stream all accountsoutside:
cc @lijunwangs
The text was updated successfully, but these errors were encountered: