프로젝트 소개

FlashLoanArbitrage는 여러 DeFi 소스에서 ETH/USDC 가격을 폴링하고, 최소 0.9%의 스프레드가 발견되면 플래시 론으로 자금을 조달하는 별도의 스마트 컨트랙트를 통해 차익거래를 트리거하는 것으로 설명되는 Node.js 명령줄 봇입니다. README에서는 이를 실제 운영용 트레이딩 시스템이 아닌, 사용자가 위험을 감수하고 사용하는 교육용 사이드 프로젝트로 정의하고 있습니다. 주장하는 워크플로우는 다음과 같습니다. 컨트랙트가 USDC로 플래시 론을 받고, 가격이 낮은 거래소에서 ETH를 매수하여 가격이 높은 거래소에 매도한 뒤, 대출금과 수수료 및 가스비를 상환하고 남은 수익을 ETH로 변환하여 사용자 지갑으로 전송합니다. 로컬 스크립트는 60초마다 가격을 스캔하여 상승/하락 표시와 함께 현재 플랫폼 간 최대 스프레드를 출력한다고 합니다. 명시된 데이터 소스로는 기본 오라클인 Chainlink와 Uniswap V2, SushiSwap, Curve Finance, Balancer가 있습니다. 플래시 론 제공업체로는 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)가 나열되어 있습니다. 실행 방법은 goflash.js와 package.json을 폴더에 넣고 npm install을 실행한 후 node goflash.js를 입력하는 것입니다. 의존성 패키지는 ethers ^6.11.1, inquirer ^8.2.6, chalk ^4.1.2입니다. 처음 실행 시 대화형 프롬프트를 통해 새 지갑을 생성하거나 기존 개인 키를 가져올 수 있으며, 이 키는 동일 폴더의 wallet.json에 저장됩니다. 이후 메뉴에서 프로토콜 선택, ETH 단위의 대출 금액 설정(10 ETH부터 프로토콜 한도까지), 지갑 재생성 또는 가져오기, 차익거래 시작, 종료를 선택할 수 있습니다. README에서는 약 0.1 ETH 미만을 보유한 사용자는 가스비 부족 가능성이 있으므로 10 ETH 이상의 대출을 피하라고 조언하며, 대출은 USDC로 이루어지고 지갑 잔액은 가스비로만 사용된다고 명시합니다. 실행 전 고려해야 할 주의사항은 다음과 같습니다. README에 따르면 실제 시장에서 0.9%의 스프레드는 드물며, 스크립트가 시연을 위해 가끔 시뮬레이션된 기회를 보여줄 수 있으므로 표시된 기회를 실제 수익으로 해석해서는 안 됩니다. 거래 시 0.1%의 거래 수수료, 0.05%의 슬리피지와 가스비가 발생한다고 합니다. 개인 키 모델(프로젝트 폴더 내 평문 wallet.json) 특성상 잔액이 적은 전용 지갑을 사용하는 것이 현명하며, README 자체에서도 해당 파일을 절대 커밋하거나 공유하지 말라고 경고합니다. 벤치마크, 감사 또는 성능 수치는 제공되지 않으며, 문서화된 프로젝트 구조에는 스크립트, 패키지 파일, README만 포함되어 있어 컨트랙트 소스나 검증된 컨트랙트 주소는 여기에 기록되어 있지 않습니다.