Об этом проекте
FlashLoanArbitrage (опубликован под названием репозитория flashloan-routing-engine) — это англоязычный образовательный проект, который объединяет смарт-контракт на Solidity с локальным Node.js скриптом goflash.js для арбитража flash-loan ETH/USDC на DeFi-площадках Ethereum.
Согласно README, рабочий процесс выглядит так: контракт берет flash-loan в USDC, использует заемные средства для покупки ETH на площадке с более низкой ценой и продажи на площадке с более высокой ценой, погашает заем вместе с комиссиями и газом, конвертирует оставшуюся прибыль и переводит чистый результат пользователю. В документации указана поддержка заимствования через 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 отмечается, что комиссия за flash-loan масштабируется в зависимости от размера займа, поэтому рекомендуется поддерживать сумму займа умеренной относительно баланса кошелька.
Сопутствующий скрипт goflash.js примерно каждые 60 секунд опрашивает цены ETH/USDC из Chainlink (в качестве оракула), а также Uniswap V2, SushiSwap, Curve Finance и Balancer, выводит их с индикаторами роста/падения/отсутствия изменений и сигнализирует об арбитраже только при спреде не менее 0,9%. Он также сообщает о максимальной разнице цен между площадками.
Запуск согласно инструкциям: скачать goflash.js и package.json в любую папку, выполнить npm install, затем node goflash.js. Перечисленные зависимости: ethers ^6.11.1, inquirer ^8.2.6 и chalk ^4.1.2. При первом запуске интерактивное меню предлагает создать новый кошелек или импортировать существующий с помощью приватного ключа; ключ записывается в файл wallet.json в той же папке. Затем меню предоставляет выбор DeFi-протокола, сумму займа в ETH, пересоздание кошелька, импорт кошелька, запуск арбитража (Start Arbitrage) и выход (Exit).
Предостережения, указанные в README: торговые комиссии (0,1%) и проскальзывание 0,05% плюс газ вычитаются до расчета чистой прибыли; баланс кошелька ниже 0,1 ETH описывается как недостаточный для покрытия газа при займах свыше 10 ETH; также в README признается, что спред в 0,9% редко встречается на реальных рынках и что скрипт иногда отображает симулированную возможность для демонстрационных целей. Раздел по устранению неполадок охватывает ошибки формата модулей, неверный формат приватного ключа, недостаточность средств и переподключение RPC.
Рекомендации по безопасности в README просят пользователей не коммитить wallet.json, добавить его в .gitignore, хранить офлайн-бэкапы приватных ключей, использовать выделенный кошелек и начинать с малых сумм. Проект предоставляется «как есть» в образовательных целях, использование осуществляется на собственный риск пользователя.
Для тех, кто оценивает проект: архитектура предполагает хранение приватного ключа в открытом виде в локальном JSON-файле и требует пополнения кошелька ETH для оплаты газа, что является важными соображениями; контракт и скрипт следует проверить перед переводом любых средств, а прибыльность в материалах не заявляется и не подтверждается.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.