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