A lightweight gRPC service for streaming account and slot updates to subscribers.
This where the server side logic lives i.e implements the geyser-plugin-interface, wires up the gRPC service, and manages connections. Note, what accounts are streamed is decided upon on the initial load of the plugin via a config json file.
Returns the server's configured heartbeat interval. Clients should consider the server unhealthy if some N consecutive heartbeats are missed.
Subscribe to this endpoint if you're interested in receiving the entire account payload including the account's data bytes.
This endpoint streams account updates similar to subscribe_account_updates
except consuming much less bandwidth. You may want to
use this when you only care to be notified when an account is updated and don't neccessarily care to what the actual state transition was.
Notifies subscribers of slot state transitions i.e. processed, confirmed, rooted.
The following assumptions must be made:
- Clients may receive data for slots out of order.
- Clients may receive account updates for a given slot out of order.
Contains the protobuf API definitions.
A simple gRPC client wrapper that Takes an opinionated approach to how account updates shall be consumed. Clients using this consumer can expect the following:
- Account updates will be streamed in monotonically; i.e. updates for older slots are discarded in the event that they were streamed by the server late.
- Account updates received out of order will trigger an error.
For your convenience:
- Run
./s
script to rsync to a server. - Run
./f
to build the binary within a container and spit out to acontainer-output
folder. Run./f jito-solana
if you plan on running it with ajito-solana
node. Be sure to use the samerustc
version used to build your RPC node as was used to build this.