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

FlashLoanArbitrage — это любительский проект, сопровождаемый файлом README, в котором описывается управляемый скриптом арбитражный бот для рынков DeFi. Основным артефактом является goflash.js, программа на Node.js, запускаемая локально из терминала, вместе с package.json, в котором перечислены три зависимости: ethers (библиотека Ethereum), inquirer (интерактивные CLI-запросы) и chalk (цветной вывод в консоль). Описание принципа работы В README указано, что бот отслеживает цену ETH/USDC в пяти источниках: Chainlink в качестве эталонного оракула, а также Uniswap V2, SushiSwap, Curve Finance и Balancer в качестве торговых площадок. Опрос цен происходит с циклом в 60 секунд, и попытка арбитража предпринимается только тогда, когда разрыв между площадками достигает 0,9% или более. В README прямо отмечается, что такие спреды редки на реальных рынках и что скрипт может отображать симулированную возможность для демонстрационных целей. При достижении порога, согласно README, процесс выглядит так: берется flash-loan в USDC, ETH покупается на более дешевой площадке, продается на более дорогой, кредит погашается вместе с комиссиями и оплатой газа, после чего оставшаяся прибыль в USDC конвертируется обратно в ETH. Перечислены четыре источника 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). Эти цифры являются утверждениями автора и не подтверждены репозиторием. Настройка и интерфейс Использование следует стандартному процессу npm: поместите goflash.js и package.json в папку, выполните npm install, затем node goflash.js. При первом запуске бот представляет интерактивный запрос с двумя вариантами: создать новый кошелек или импортировать существующий с помощью приватного ключа. Приватный ключ созданного кошелька автоматически записывается в wallet.json в той же директории. Затем текстовое меню предлагает выбор DeFi-протокола, сумму займа в ETH (указанный диапазон начинается от 10 ETH до максимума протокола), пересоздание кошелька, импорт кошелька, запуск арбитража и выход. Панель цен в реальном времени показывает котировки ETH/USDC для каждой площадки с индикаторами роста/падения/отсутствия изменений. Операционные заметки и риски Сам README содержит несколько предупреждений: держать достаточно ETH для оплаты газа (рекомендуется минимум 0,1 ETH для займов свыше 10 ETH), избегать очень крупных займов при небольшом балансе, добавить wallet.json в .gitignore, хранить резервные копии приватных ключей в офлайне, использовать выделенный кошелек и начинать с малых сумм. Упомянутые комиссии включают торговую комиссию 0,1%, проскальзывание 0,05% и газ. Раздел по устранению неполадок охватывает ошибки формата модулей, проверки формата приватного ключа, недостаточность средств, недоступность RPC-эндпоинтов и отсутствие пар V2. Одно наблюдение из структуры проекта: в нем перечислены только goflash.js, package.json, wallet.json и README.md, поэтому сопутствующий смарт-контракт описан в тексте, но не представлен в дереве файлов. Любому, кто оценивает этот проект, следует рассматривать заявления о прибыльности, цифры комиссий и лимиты займов как непроверенные утверждения автора, а также учитывать последствия хранения приватного ключа кошелька на диске в открытом виде.