
Отправка пакетов Flashbot в Python.
Этот репозиторий предоставляет скрипт Python для передачи транзакций через Flashbots, чтобы обойти публичный мемпул и избежать frontrunning. Скрипт использует Web3.py и Flashbots API для отправки пакетов непосредственно майнерам.
Интеграция Web3: Подключение к Ethereum с помощью Infura RPC. Совместимость с Flashbots: Использует Flashbots для группы транзакций. Динамическая настройка газа: Автоматическая настройка комиссий за газ для повышения уровня успешности транзакций. Мониторинг Mempool: Проверяет, включена ли транзакция. Автоматические повторные попытки: Постепенно увеличивает комиссию за газ в случае неудач.
1. Клонируйте репозиторий:
git clone https://github.com/pydevtop/sending-bundles-flashbots.git
cd sending-bundles-flashbots
python -m venv venv
c:\sending-bundles-flashbots\venv\Scripts\activate
pip install -r requirements.txt
Установите свой RPC Ethereum, закрытый ключ и кошелек получателя в config.py или непосредственно в скрипте:
RPC_URL = "https://mainnet.infura.io/v3/YOUR_INFURA_KEY"
PRIVATE_KEY = "YOUR_PRIVATE_KEY"
SEND_WALLET = "0xRecipientAddress"
Запустите скрипт для отправки транзакций через Flashbots:
python main.py
Connected to Ethereum network: Geth/v1.14.13-stable-eb00f169/linux-amd64/go1.23.5
Account address: 0xC3f78F263c6862EFfE82C887DB6C872cb9A64E46
Base Fee: 565751357
Initial Priority Fee: 57704721
Max Fee Per Gas: 680031213
Sending bundle to block 7712502...
Bundle: [{'signed_transaction': HexBytes('0x02f87783aa36a782059083580ce884288873ed83061a80941255a27b98c04dd2ec429908e0d03351c6af9c8e88016345785d8a000080c080a0f8c2d6da5c68c478012c728f82288ad7d90991d60c0e837d251bf8e2c3e14f85a02d93ed1ae3c2bebc956b80484ce05fb8aaa68a98ce3180ffda174c04b0aad7f3')}]
Transaction sent via Flashbots to block 7712502, waiting...
Transaction confirmed in block 7712502.
TX Hash: 0x09f56bf472ba580a7231b2dcb5b87c8d529cd495b3af710c9e6673089fd8777e
Transaction 0x09f56bf472ba580a7231b2dcb5b87c8d529cd495b3af710c9e6673089fd8777e not in mempool. Retrying... (1/10)
Transaction 0x09f56bf472ba580a7231b2dcb5b87c8d529cd495b3af710c9e6673089fd8777e not in mempool. Retrying... (2/10)
Transaction 0x09f56bf472ba580a7231b2dcb5b87c8d529cd495b3af710c9e6673089fd8777e not in mempool. Retrying... (3/10)
Transaction 0x09f56bf472ba580a7231b2dcb5b87c8d529cd495b3af710c9e6673089fd8777e not in mempool. Retrying... (4/10)
Transaction 0x09f56bf472ba580a7231b2dcb5b87c8d529cd495b3af710c9e6673089fd8777e not in mempool. Retrying... (5/10)
Transaction 0x09f56bf472ba580a7231b2dcb5b87c8d529cd495b3af710c9e6673089fd8777e not in mempool. Retrying... (6/10)
Transaction 0x09f56bf472ba580a7231b2dcb5b87c8d529cd495b3af710c9e6673089fd8777e not in mempool. Retrying... (7/10)
Transaction 0x09f56bf472ba580a7231b2dcb5b87c8d529cd495b3af710c9e6673089fd8777e not in mempool. Retrying... (8/10)
Transaction 0x09f56bf472ba580a7231b2dcb5b87c8d529cd495b3af710c9e6673089fd8777e not in mempool. Retrying... (9/10)
Transaction 0x09f56bf472ba580a7231b2dcb5b87c8d529cd495b3af710c9e6673089fd8777e not in mempool. Retrying... (10/10)
Transaction 0x09f56bf472ba580a7231b2dcb5b87c8d529cd495b3af710c9e6673089fd8777e is still missing. Increasing gas fees...
New Max Fee Per Gas: 1020046819, New Priority Fee: 63475193
Sending bundle to block 7712504...
Bundle: [{'signed_transaction': HexBytes('0x02f87783aa36a782059083580ce8843cccade383061a80941255a27b98c04dd2ec429908e0d03351c6af9c8e88016345785d8a000080c080a06eaff177a699ebdcc2c9b6ce1daeea37e8dc32e99bd39f929abdbb37d7d1fc29a07e5bfc3785636e6f54f39492a7238a97dbfe8d8085edd94828b7a6084bd0cb0a')}]
Transaction sent via Flashbots to block 7712504, waiting...
Transaction confirmed in block 7712504.
TX Hash: 0x64cd7616bd0447b8f20a6c6e1b75cb400ea4603ed269c8acf879ba58f2165faa
Transaction 0x64cd7616bd0447b8f20a6c6e1b75cb400ea4603ed269c8acf879ba58f2165faa not in mempool. Retrying... (1/10)
Transaction 0x64cd7616bd0447b8f20a6c6e1b75cb400ea4603ed269c8acf879ba58f2165faa not in mempool. Retrying... (2/10)
Transaction 0x64cd7616bd0447b8f20a6c6e1b75cb400ea4603ed269c8acf879ba58f2165faa not in mempool. Retrying... (3/10)
Transaction 0x64cd7616bd0447b8f20a6c6e1b75cb400ea4603ed269c8acf879ba58f2165faa not in mempool. Retrying... (4/10)
Transaction 0x64cd7616bd0447b8f20a6c6e1b75cb400ea4603ed269c8acf879ba58f2165faa not in mempool. Retrying... (5/10)
Transaction 0x64cd7616bd0447b8f20a6c6e1b75cb400ea4603ed269c8acf879ba58f2165faa not in mempool. Retrying... (6/10)
Transaction 0x64cd7616bd0447b8f20a6c6e1b75cb400ea4603ed269c8acf879ba58f2165faa not in mempool. Retrying... (7/10)
Transaction 0x64cd7616bd0447b8f20a6c6e1b75cb400ea4603ed269c8acf879ba58f2165faa not in mempool. Retrying... (8/10)
Transaction 0x64cd7616bd0447b8f20a6c6e1b75cb400ea4603ed269c8acf879ba58f2165faa not in mempool. Retrying... (9/10)
Transaction 0x64cd7616bd0447b8f20a6c6e1b75cb400ea4603ed269c8acf879ba58f2165faa not in mempool. Retrying... (10/10)
Transaction 0x64cd7616bd0447b8f20a6c6e1b75cb400ea4603ed269c8acf879ba58f2165faa is still missing. Increasing gas fees...
New Max Fee Per Gas: 1530070228, New Priority Fee: 69245665
Sending bundle to block 7712507...
Bundle: [{'signed_transaction': HexBytes('0x02f87783aa36a782059083580ce8845b3304d483061a80941255a27b98c04dd2ec429908e0d03351c6af9c8e88016345785d8a000080c001a03847b85bf9004ee7a819b303b7af99fb72488ce7dffa006e02dcdf9f836eb6f1a005a603426f05ed8f7c2fb4e4e61065d01ee8f3fe5addb2c882be4db15d40c89f')}]
Transaction sent via Flashbots to block 7712507, waiting...
Transaction confirmed in block 7712507.
TX Hash: 0xa34e58b5fd9207a6ff7d40fd2d8af61f1b74dc35b9ff212fee6cb02aac96e5a0
Transaction 0xa34e58b5fd9207a6ff7d40fd2d8af61f1b74dc35b9ff212fee6cb02aac96e5a0 is in mempool!
Dependencies: web3 #eth-account #flashbots