Об этом проекте
Обзор
FlashLoanArbitrage — это небольшой командный интерфейс (CLI) на Node.js для DeFi-арбитража, построенный вокруг flash-кредитов. В README описываются две части: ончейн-смарт-контракт, который выполняет цикл «заем-покупка-продажа-погашение» в USDC, и локальный скрипт goflash.js, который отслеживает цены и управляет контрактом. Автор представляет это как личный проект, которым поделился, чтобы другие могли его попробовать.
Принцип работы согласно документации
Сообщается, что контракт берет flash-кредит в USDC, предварительно конвертирует ETH пользователя в USDC, покупает ETH на более дешевой площадке, продает его на более дорогой, погашает кредит вместе с комиссиями и газом, а затем конвертирует оставшуюся прибыль обратно в ETH. Локальный скрипт опрашивает цены ETH/USDC и действует только тогда, когда спред между площадками составляет не менее 0,9%; в противном случае он ждет. Сканирование выполняется каждые 60 секунд с выводом в консоль цены каждой площадки и индикатора роста/падения/отсутствия изменений.
Упомянутые площадки и провайдеры
Источники цен: Chainlink (базовая цена оракула), Uniswap V2, SushiSwap, Curve Finance и Balancer. Провайдеры flash-кредитов: Aave (комиссия 0,05%, до 10 000 000 USDC), dYdX (0,05%, до 500 000), Uniswap V3 (0,01%, до 5 000 000) и Balancer (0,02%, до 1 000 000). В перечень затрат включены комиссия за flash-кредит, торговая комиссия 0,1%, проскальзывание 0,05% и газ.
Установка и использование
Необходимо скачать goflash.js и package.json, выполнить npm install, затем запустить node goflash.js. Зависимости: ethers ^6.11.1, inquirer ^8.2.6 и chalk ^4.1.2. При первом запуске интерактивное меню предлагает создать новый кошелек или импортировать существующий по приватному ключу; ключ сохраняется в wallet.json в папке проекта. Главное меню позволяет выбрать протокол flash-кредитования, установить сумму займа в ETH (в README рекомендуется от 10 ETH до лимита протокола), пересоздать или повторно импортировать кошелек, запустить арбитраж или выйти. В README советуют держать минимум 0,1 ETH для оплаты газа при взятии крупных займов.
Важные моменты перед использованием
В структуре проекта указаны только goflash.js, package.json, wallet.json и README.md, таким образом, исходный код контракта в описанных файлах отсутствует. В самом README указано, что спред в 0,9% редко встречается на реальных рынках и что скрипт время от времени будет показывать симулированную возможность для демонстрации, а значит, отображаемые возможности не обязательно являются исполнимыми. Автор неоднократно предупреждает об осторожности при работе с приватными ключами вместо внедрения защиты: ключ записывается в открытом виде в wallet.json, и пользователям советуют добавить этот файл в .gitignore, сделать офлайн-бэкап, использовать выделенный кошелек и начинать с малых сумм. Проект предоставлен «как есть» в образовательных целях, использование на собственный риск, иная лицензия не указана.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.