This repository contains a few examples on how to use a searcher.
- Install protoc to compile protobufs
- Follow instructions at: https://grpc.io/docs/protoc-installation/#install-pre-compiled-binaries-any-os
- Ensure that the rust toolchain is installed
$ curl https://sh.rustup.rs -sSf | sh
$ source $HOME/.cargo/env
- Clone the repo
$ git clone https://github.com/jito-labs/searcher-examples.git --recurse-submodules
$ cd searcher-examples
You will need access to a few things before running these examples.
This is a locally generated wallet which you will use to sign transactions and pay for transaction fees and tips with.
A list of our block engine URLs can be found here: https://jito-labs.gitbook.io/mev/systems/connecting/mainnet
Please apply for block engine API keys here: https://web.miniextensions.com/WV3gZjFwqNqITsMufIEp
On-chain addresses for tip programs and tip accounts can be found here: https://jito-foundation.gitbook.io/mev/mev-payment-and-distribution/on-chain-addresses
Our most complex example, this shows how to "backrun" transactions.
Backrunning is when one inserts a transaction immediately behind a target transaction. Common forms of backrunning can be arbitrage and liquidations.
This example listens to transactions from the mempool and submits bundles containing a backrun transaction immediately behind a target transaction.
Due to the deprecation of mempool features, support for this functionality has been discontinued.
This is a rust program that exercises functionality inside the searcher API so you can explore the functionality. It provides an intuitive CLI-based interface for connecting to the block engine and sending test bundles.
An example on how to build the protobufs that define the messages and services one can use to talk to our block engine.
An example on how to authenticate with the block engine as a searcher. All users in the block engine need to perform a challenge-response
Use this at your own risk.