프로젝트 소개

FlashLoanArbitrage는 플래시 론을 기반으로 구축된 Ethereum DeFi 차익거래용 JavaScript 명령줄 프로젝트입니다. README에 따르면, 스마트 컨트랙트가 플래시 론을 통해 USDC를 빌려 가격이 저렴한 곳에서 ETH를 매수하고, 더 비싼 곳에서 매도한 뒤, 대출금과 수수료 및 가스비를 상환하고 남은 USDC 수익을 다시 ETH로 전환합니다. 사용자의 머신에서 실행되는 goflash.js라는 로컬 스크립트가 ETH/USDC 가격을 감시하며 기회가 포착되면 컨트랙트를 트리거합니다. 저장소 설명에는 기술적 분석을 통한 ETH 가격 변동 예측이 언급되어 있으나, README 자체는 예측 모델이 아닌 차익거래 실행 봇을 문서화하고 있습니다. README에는 예측이나 기술적 분석 구성 요소에 대한 설명이 없으며, 나열된 프로젝트 구조에는 goflash.js, package.json, wallet.json, README.md만 포함되어 있어 스마트 컨트랙트 소스는 해당 트리에서 보이지 않습니다. 가격 모니터링은 다섯 가지 소스를 활용합니다. 기본 ETH 가격을 위한 오라클인 Chainlink, Uniswap V2, SushiSwap, Curve Finance, Balancer가 그것입니다. 스크립트는 60초마다 이 가격들을 스캔하며, 더 작은 격차는 비용을 충당하지 못한다는 이유로 0.9% 이상의 차이가 발생할 때까지 대기하는 것으로 설명됩니다. 콘솔 출력에는 각 거래소의 가격과 상승, 하락 또는 변동 없음 표시, 그리고 플랫폼 간 최대 스프레드가 표시됩니다. 네 가지 플래시 론 프로토콜이 나열되어 있으며, 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)입니다. README는 낮은 수수료를 위해 dYdX 또는 Uniswap V3를 권장하며, 수수료는 대출 규모에 따라 달라진다고 명시합니다. 설정 방법은 goflash.js와 package.json을 폴더에 다운로드하고, npm install을 실행한 후 node goflash.js를 실행하는 것으로 문서화되어 있습니다. 처음 실행 시 스크립트는 지갑을 찾을 수 없다고 보고하며 대화형 메뉴를 제공합니다. 새 지갑을 생성하면 주소와 개인 키가 표시되고 키가 동일 폴더의 wallet.json에 저장되며, 기존 지갑은 0x 접두사가 붙은 64자리 개인 키로 가져올 수 있습니다. 이후 실행 시에는 DeFi 프로토콜 선택, ETH 단위 대출 금액(10 ETH부터 프로토콜 최대치까지), 지갑 재생성, 지갑 가져오기, 차익거래 시작 및 종료가 포함된 메인 메뉴가 표시됩니다. 명시된 비용에는 거래 수수료 0.1%, 슬리피지 0.05% 및 가스비가 포함됩니다. README는 10 ETH 이상을 빌릴 때 가스비를 위해 지갑에 최소 0.1 ETH를 유지할 것을 권장하며, 지갑 잔액은 가스비로만 사용되고 ETH가 컨트랙트로 전송되지는 않는다고 설명합니다. 종속성으로는 ethers ^6.11.1, inquirer ^8.2.6, chalk ^4.1.2가 사용됩니다. 문제 해결 섹션에서는 모듈 형식 오류, 잘못된 개인 키 형식, 잔액 부족, RPC 엔드포인트 접속 불가 및 V2 페어 누락 문제를 다룹니다. README 자체에 중요한 주의사항이 명시되어 있습니다. 실제 시장에서 0.9%의 가격 차이는 드문 일이며, 스크립트가 시연 목적으로 가끔 시뮬레이션된 기회를 보여주므로 실제 수익성 있는 실행은 보장되지 않습니다. 개인 키는 wallet.json에 평문으로 저장됩니다. README는 해당 파일을 절대 커밋하지 말고 .gitignore에 추가하며, 오프라인 백업을 유지하고, 전용 지갑을 사용하며, 소액으로 시작할 것을 권고합니다. 이 프로젝트는 교육 목적으로 '있는 그대로' 공유되며, 사용자의 책임하에 사용됩니다.