This library contains tooling to interact with Jito Labs software.
We currently use gagliardetto/solana-go to interact with Solana. PRs and contributions are welcome.
- Support
- Features
- ToDo
- Methods
- Installing
- Update Proto
- Keypair Authentication
- Examples
- Common errors
- Disclaimer
- License
If my work has been useful in building your for-profit services/infra/bots/etc, consider donating at
ACPc147BD5SE7Rh2HKLED7nLWJyiNNHM8ruyGNHqcE8U (Solana address).
- Searcher
- Block Engine
- Relayer
- Geyser π³
- Shredstream
- JSON RPC API
- Others
- API
- Implement rest of the data REST API endpoints (arbitrage)
-
π* methods which are deprecated by Jito -
most methods have wrappers for ease of use -
both gRPC and JSON-RPC methods are supported -
Searcher
Supports a New func which authenticates with your private key, and a NewNoAuth func which does not require to be whitelisted by Jito. Multiple clients can be created using different proxies to increase request capacity. Please use responsibly.
SubscribeMempoolAccountsπSubscribeMempoolProgramsπGetNextScheduledLeaderGetRegionsGetConnectedLeadersGetConnectedLeadersRegionedGetTipAccountsSimulateBundleSendBundle(gRPC & JSON-RPC)SendBundleWithConfirmation(gRPC & JSON-RPC)SubscribeBundleResultsGetBundleStatuses(gRPC & JSON-RPC)- Block Engine
- Validator
SubscribePacketsSubscribeBundlesGetBlockBuilderFeeInfo
- Relayer
SubscribeAccountsOfInterestSubscribeProgramsOfInterestStartExpiringPacketStream
- Validator
- ShredStream
SendHeartbeat
- Others (pkg/util.go & pkg/convert.go)
SubscribeTipStream- Converting functions
- API (api/api.go)
RetrieveRecentBundlesRetrieveBundleIDfromTransactionSignatureGetBundleInfoGetDailyMevRewards
Go 1.22.0 or higher.
go get github.com/weeaa/jito-go@latestIf you want to run tests:
- Install Task.
- Initialize your
.envfile by runningtask install:<os>(darwin/linux/windows). - Run tests with
task test.
π¨ Beware that due to duplicate types from jito proto files it will cause an error when building, this issue has been submitted to the team. π¨
In order to get latest proto generated files, make sure you have protobuf & its plugins installed!
Using Homebrew (macOS).
brew install protobuf
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latestEdit perms.
chmod +x ./scripts/generate_protos.shRun script.
./scripts/generate_protos.shThe following isn't mandatory anymore for Searcher access.
To access Jito MEV functionalities, you'll need a whitelisted Public Key obtained from a fresh KeyPair; submit your Public Key here.
In order to generate a new KeyPair, you can use the following function GenerateKeypair() from the /pkg package.
The supplied pubkey is not authorized to generate a token.
The public key you supplied is not whitelisted by Jito, you may either use NewNoAuth instead of New
to authenticate, or apply for whitelist here.
This library is not affiliated with Jito Labs. It is a community project and is not officially supported by Jito Labs. Use at your own risk.