Об этом проекте

FlashLoanArbitrage — это автоматизированный DeFi-торговый бот, созданный на Node.js, который выполняет арбитраж флеш-кредитов в сети Ethereum. Проект состоит из JavaScript-скрипта управления (`goflash.js`) и связанного смарт-контракта. Как это работает Бот отслеживает цены ETH/USDC на пяти платформах: Chainlink (оракл-ссылка), Uniswap V2, SushiSwap, Curve Finance и Balancer. Когда разница в цене между любыми двумя площадками достигает 0,9% или выше, скрипт инициирует флеш-кредит через один из четырёх поддерживаемых протоколов: Aave, dYdX, Uniswap V3 или Balancer. Смарт-контракт берёт кредит в USDC, исполняет кросс-платформенную сделку (покупает ETH дёшево и продаёт дорого), погашает кредит вместе с комиссиями и возвращает чистую прибыль на кошелёк пользователя. Поддерживаемые протоколы флеш-кредитов - Aave: до 10 000 000 USDC, комиссия 0,05% - dYdX: до 500 000 USDC, комиссия 0,05% - Uniswap V3: до 5 000 000 USDC, комиссия 0,01% - Balancer: до 1 000 000 USDC, комиссия 0,02% Настройка и использование Чтобы запустить бота, клонируйте репозиторий и установите зависимости с помощью `npm install`. При первом запуске скрипт создаёт или импортирует Ethereum-кошелёк, сохраняя приватный ключ в файл `wallet.json`. Интерактивное меню CLI позволяет выбрать протокол флеш-кредита, сумму займа, а также начать или остановить мониторинг арбитража. Для займов свыше 10 ETH требуется баланс кошелька не менее 0,1 ETH для покрытия комиссий за газ. Ключевые особенности - Данные о ценах обновляются примерно каждые 60 секунд. - Минимальный порог для запуска сделки — разрыв цен в 0,9%. - При расчёте прибыли учитываются торговые комиссии (0,1%), проскальзывание (0,05%) и затраты на газ. - ETH пользователя не передаётся контракту; он остаётся на кошельке и используется только для оплаты газа. - Реализована базовая обработка ошибок при сбоях RPC, невалидных приватных ключах и отсутствующих торговых парах. Зависимости - ethers ^6.11.1 - inquirer ^8.2.6 - chalk ^4.1.2 Примечания по безопасности Проект сохраняет приватный ключ в файле `wallet.json`; пользователям рекомендуется добавить его в `.gitignore` и хранить резервные копии офлайн. В README указано, что проект предоставляется «как есть» исключительно в образовательных целях, и пользователи действуют на свой страх и риск.