web3-flashbots.py
Project description
This library works by injecting a new module in the Web3.py instance, which allows
submitting "bundles" of transactions directly to miners. This is done by also creating
a middleware which captures calls to eth_sendBundle
and eth_callBundle
, and sends
them to an RPC endpoint which you have specified, which corresponds to mev-geth
.
To apply correct headers we use FlashbotProvider which injects the correct header on post
Example
from eth_account.signers.local import LocalAccount
from web3 import Web3, HTTPProvider
from flashbots import flashbot
from eth_account.account import Account
import os
ETH_ACCOUNT_SIGNATURE: LocalAccount = Account.from_key(os.environ.get("ETH_SIGNATURE_KEY"))
w3 = Web3(HTTPProvider("http://localhost:8545"))
flashbot(w3, ETH_ACCOUNT_SIGNATURE)
Now the w3.flashbots.sendBundle
method should be available to you. Look in examples/simple.py
for usage examples
Development and testing
Setup and run (mev-)geth with Websocket support:
geth --http --http.api eth,net,web3,txpool --syncmode full
Install poetry
Poetry will automatically fix your venv and all packages needed
poetry install
Tips: PyCharm has a poetry plugin
Linting
It's advisable to run black with default rules for linting
sudo pip install black # Black should be installed with a global entrypoint
black .
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file flashbots-1.0.0.tar.gz
.
File metadata
- Download URL: flashbots-1.0.0.tar.gz
- Upload date:
- Size: 9.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3549561f225b79384febfd92c795ce5e05e3e3657e385733deb87754da6d3d0a |
|
MD5 | 75f7e000d4cba191bef7838ef9dcc13e |
|
BLAKE2b-256 | 84a378fce521922af15ffd29c011dfb5b08d2be10cf546695bf35d6dda804f56 |
File details
Details for the file flashbots-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: flashbots-1.0.0-py3-none-any.whl
- Upload date:
- Size: 9.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 600aecb4720a1b3a847768e3465a0227f7e2a5d85f3c02fc6862647429712a36 |
|
MD5 | 93ea39a7688439663c6c7367bf9b8f79 |
|
BLAKE2b-256 | 601bc71cd10fcdcba0f0934fb9075a721b06a18858e04cb7970e11b91666987c |