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

Что это такое FlashLoanArbitrage — это локальный командный скрипт (goflash.js) для экспериментов с арбитражем с использованием flash-loans на DeFi-рынках типа Ethereum. Он запускается на машине пользователя, управляется через интерактивное меню и распространяется через репозиторий, содержащий скрипт, package.json и README. В README проект представлен как образовательный материал, используемый на собственный риск пользователя. Как это работает При запуске скрипт предлагает варианты работы с кошельком: создать новый или импортировать существующий по приватному ключу. Полученный ключ записывается в файл wallet.json в той же папке. Затем меню предлагает четыре бэкенда для flash-loans (Aave, dYdX, Uniswap V3, Balancer), настройку суммы займа в ETH, пересоздание и импорт кошелька, управление запуском/остановкой арбитража и выход. Во время работы скрипт примерно каждые 60 секунд опрашивает справочные цены ETH/USDC из пяти источников: Chainlink в качестве базового оракула, а также Uniswap V2, SushiSwap, Curve Finance и Balancer в качестве торговых площадок. Он отображает текущие значения с индикаторами роста/падения/отсутствия изменений и сообщает о максимальном спреде между источниками. Только когда спред достигает примерно 0,9%, управление передается контракту арбитража; в противном случае скрипт продолжает ожидание. В README указано, что такие спреды редки на реальных рынках и что для демонстрационных целей иногда показывается симулированная возможность. Описанный поток контракта следующий: взять flash-loan в USDC, купить ETH на более дешевой площадке, продать на более дорогой, погасить заем и комиссию, оплатить торговые сборы, проскальзывание и газ, а затем конвертировать оставшуюся прибыль обратно в ETH. Установка и зависимости Единственными перечисленными зависимостями являются ethers, inquirer и chalk. Порядок использования: поместить goflash.js и package.json в папку, выполнить npm install, затем node goflash.js и следовать подсказкам. Заметки по устранению неполадок в README охватывают ошибки формата модулей, валидацию формата приватного ключа, недостаточность средств для газа, переподключение RPC и отсутствие торговых пар. На что обратить внимание - В README описывается ончейн-контракт, но структура проекта содержит только скрипт, package.json, wallet.json и сам README; исходный код контракта там не представлен, поэтому ончейн-часть невозможно проверить по списку файлов. - Файл кошелька хранит приватный ключ на диске в открытом виде. В самом README рекомендуется добавить wallet.json в .gitignore, хранить офлайн-бэкапы, использовать выделенный кошелек и никогда не передавать ключ. - В README содержится предупреждение, что кошелек с балансом ниже примерно 0,1 ETH не должен брать займы более 10 ETH, так как газ может не быть покрыт, а расходы включают комиссии за flash-loan, торговые комиссии около 0,1%, проскальзывание 0,05% и газ. - Содержимое репозитория не подтверждает независимых заявлений о производительности, прибыльности или корректности; описанное поведение является рассказом автора, а проект явно помечен как предоставленный «как есть» в образовательных целях.