跳转到主要内容

web3-flashbots.py

项目描述

此库通过将flashbots注入到Web3.py实例中作为新模块,允许直接向矿工提交“事务包”。这是通过创建一个中间件来完成的,该中间件捕获对eth_sendBundleeth_callBundle的调用,并将它们发送到您指定的RPC端点,对应于mev-geth

为了应用正确的头信息,我们使用flashbot方法,该方法在POST请求中注入正确的头信息。

快速入门

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)

现在w3.flashbots.sendBundle方法应该可用。查看examples/simple.py以获取使用示例。

测试网

要使用以太坊测试网,请将适当的测试网中继RPC添加到flashbot函数参数中。

flashbot(w3, ETH_ACCOUNT_SIGNATURE, "https://relay-holesky.flashbots.net")

请参阅flashbots文档以获取最新的URL。

开发和测试

安装poetry

poetry将自动修复您的venv和所有所需的包。

poetry install

提示:PyCharm有一个poetry插件

简单的测试网示例

请参阅examples/simple.py以获取环境变量定义。

poetry shell
ETH_SENDER_KEY=<sender_private_key> \nPROVIDER_URL=https://eth-holesky.alchemyapi.io/v2/<alchemy_key> \nETH_SIGNER_KEY=<signer_private_key> \npython examples/simple.py

代码检查

建议使用默认规则运行black进行代码检查

sudo pip install black # Black should be installed with a global entrypoint
black .

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

flashbots-2.0.0.tar.gz (11.1 kB 查看哈希值)

上传时间

构建分发

flashbots-2.0.0-py3-none-any.whl (11.4 kB 查看哈希值)

上传时间 Python 3

由以下支持