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

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