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

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