Marshall 57097aac5f Update README.md 1 год назад
..
jito_geyser 0404b121e3 Add geyser (#3) 2 лет назад
README.md 57097aac5f Update README.md 1 год назад
poetry.lock 0404b121e3 Add geyser (#3) 2 лет назад
pyproject.toml e8eb9dcd32 Update link to discord for triage purposes 1 год назад

README.md

About

This library contains python code to interact with Jito's Geyser Plugin.

Downloading

$ pip install jito_geyser

Access Token

We no longer support access to geyser. Please use 3rd party providers.

Examples

Printing slot updates

from grpc import ssl_channel_credentials, secure_channel

from jito_geyser.generated.geyser_pb2 import SubscribeSlotUpdateRequest
from jito_geyser.generated.geyser_pb2_grpc import GeyserStub

GEYSER_URL = "mainnet.rpc.jito.wtf"
ACCESS_TOKEN = "ACCESS_TOKEN_HERE"

channel = secure_channel(GEYSER_URL, ssl_channel_credentials())
client = GeyserStub(channel)
for msg in client.SubscribeSlotUpdates(SubscribeSlotUpdateRequest(), metadata=[("access-token", ACCESS_TOKEN)]):
    print(msg)

Listening to program account updates

This example listens to pyth-owned accounts

from grpc import ssl_channel_credentials, secure_channel
from solders.pubkey import Pubkey # note: probably need to install solders for this import

from jito_geyser.generated.geyser_pb2 import SubscribeProgramsUpdatesRequest
from jito_geyser.generated.geyser_pb2_grpc import GeyserStub

GEYSER_URL = "mainnet.rpc.jito.wtf"
ACCESS_TOKEN = "ACCESS_TOKEN_HERE"
ACCOUNTS = [bytes(Pubkey.from_string("FsJ3A3u2vn5cTVofAjvy6y5kwABJAqYWpe4975bi2epH"))]

channel = secure_channel(GEYSER_URL, ssl_channel_credentials())
client = GeyserStub(channel)
for msg in client.SubscribeProgramUpdates(SubscribeProgramsUpdatesRequest(programs=ACCOUNTS), metadata=[("access-token", ACCESS_TOKEN)]):
    print(msg)

Functions available

  • There are many functions available including:
    • GetHeartbeatInterval
    • SubscribeAccountUpdates
    • SubscribeProgramUpdates
    • SubscribePartialAccountUpdates
    • SubscribeSlotUpdates
    • SubscribeTransactionUpdates
    • SubscribeBlockUpdates

Development

Install pip

$ curl -sSL https://bootstrap.pypa.io/get-pip.py | python 3 -

Install poetry

$ curl -sSL https://install.python-poetry.org | python3 -

Setup environment and build protobufs

$ poetry install
$ poetry shell
$ poetry protoc

Linting

$ poetry run black .
$ poetry run isort .

Publishing package

$ poetry protoc && poetry build && poetry publish