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

FlashLoanArbitrage — это командный инструмент на JavaScript для арбитража в DeFi с использованием flash-займов. В README описаны две части: смарт-контракт, выполняющий последовательность сделок, и локальный скрипт goflash.js, который запускается на компьютере пользователя и активирует контракт при обнаружении ценовой возможности. Принцип работы по словам автора: контракт берет flash-заем в USDC, дешево покупает ETH на одной площадке и продает его дороже на другой, погашает заем вместе с комиссиями и газом, а затем конвертирует оставшуюся прибыль из USDC обратно в ETH. Локальный скрипт опрашивает цены ETH/USDC на нескольких платформах и действует только при разнице в 0,9% или более — порог, выбранный автором для снижения риска убыточных сделок. В README перечислены провайдеры flash-займов: 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 рекомендуется избегать чрезмерных займов при небольшом балансе кошелька. В качестве источников цен сканируются Chainlink (как оракул), Uniswap V2, SushiSwap, Curve Finance и Balancer. Запуск: скачайте goflash.js и package.json в любую папку, выполните npm install, затем node goflash.js. При первом запуске скрипт предлагает создать новый кошелек или импортировать существующий по приватному ключу (с префиксом 0x, 64 шестнадцатеричных символа). Сгенерированный приватный ключ хранится в wallet.json в той же папке; в README неоднократно предупреждается, что этот файл нельзя добавлять в Git и нельзя передавать ключ третьим лицам. Интерактивное меню (созданное с помощью inquirer) предоставляет опции выбора DeFi-протокола, установки суммы займа в ETH, пересоздания или импорта кошелька, запуска арбитража и выхода; chalk используется для цветного вывода в консоль, а ethers — для доступа к Ethereum. В README указано, что мониторинг выводит таблицу цен ETH/USDC по платформам с маркерами роста/падения/отсутствия изменений и максимальный спред между площадками, обновляемый периодически (упоминается 60-секундный цикл сканирования). Также отмечены практические нюансы: баланс кошелька менее 0,1 ETH считается недостаточным для оплаты газа при займах свыше 10 ETH; расходы включают комиссии за flash-заем, торговые комиссии около 0,1%, проскальзывание около 0,05% и газ; спреды между площадками в 0,9% описываются как редкие на реальных рынках, и скрипт иногда показывает симулированную возможность для демонстрации. Раздел по устранению неполадок охватывает ошибки формата модулей, неверный формат приватного ключа, недостаточность средств для газа, нулевой баланс кошелька и переподключение к RPC, а также отмечает, что отсутствие пары ETH/USDC на V2 является нормальным. Заявленные зависимости: ethers ^6.11.1, inquirer ^8.2.6 и chalk ^4.1.2. Проект опубликован «как есть» в образовательных целях, использование на собственный риск. Читателям, оценивающим проект, следует с осторожностью относиться к заявлениям о прибыли и коду контракта: рабочий процесс требует обработки приватного ключа от кошелька со средствами, ончейн-контракт не описывается как прошедший аудит, а в самом README признается, что реальные возможности при указанном пороге встречаются редко.