Об этом проекте
Что это такое
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% и газ.
- Содержимое репозитория не подтверждает независимых заявлений о производительности, прибыльности или корректности; описанное поведение является рассказом автора, а проект явно помечен как предоставленный «как есть» в образовательных целях.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.