프로젝트 소개

FlashLoanArbitrage는 메인 스크립트(goflash.js)와 대화형 터미널 메뉴가 결합된 Node.js 명령줄 프로젝트로, DeFi 거래소 간의 플래시 론 차익거래를 목표로 합니다. README에 따르면, 함께 제공되는 스마트 컨트랙트가 USDC 플래시 론을 받아 한 플랫폼에서 ETH를 매수하고 다른 플랫폼에서 매도한 뒤, 수수료와 가스비를 포함한 대출금을 상환하고 남은 USDC 수익을 다시 ETH로 변환하여 사용자의 지갑으로 반환합니다. 가격 모니터링: 스크립트는 60초마다 Chainlink(오라클), Uniswap V2, SushiSwap, Curve Finance, Balancer에서 ETH/USDC 가격을 읽어와 상승/하락/유지 표시와 함께 출력하며, 거래소 간 최대 가격 차이를 보고합니다. 차익거래는 스프레드가 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)의 4가지 프로토콜이 지원됩니다. README는 낮은 수수료를 위해 dYdX 또는 Uniswap V3를 권장하며, 대출 금액은 10 ETH부터 각 프로토콜의 명시된 한도까지 가능하다고 설명합니다. 사용 흐름: goflash.js와 package.json을 폴더에 다운로드하고 npm install을 실행한 후 node goflash.js를 실행합니다. 처음 실행 시 CLI는 새 지갑 생성 또는 개인 키를 통한 기존 지갑 가져오기를 제안하며, 키는 동일 폴더의 wallet.json에 저장됩니다. 이후 메뉴에서 DeFi 프로토콜 선택, ETH 단위 대출 금액 설정, 지갑 재생성 또는 재가져오기, 차익거래 시작 및 종료를 선택할 수 있습니다. 나열된 종속성은 ethers (^6.11.1), inquirer (^8.2.6), chalk (^4.1.2)입니다. 명시된 비용에는 거래 수수료(0.1%), 슬리피지(0.05%) 및 가스비가 포함됩니다. README는 지갑 잔액이 0.1 ETH 미만인 경우 가스비를 충당할 수 없으므로 10 ETH 이상의 대출을 받지 말라고 경고합니다. 문제 해결 섹션에서는 모듈 형식 오류, 잘못된 개인 키, 잔액 부족, RPC 재연결, ETH/USDC V2 페어 누락 및 기회 희소성 문제를 다룹니다. README의 보안 주의사항: wallet.json이나 개인 키를 절대 커밋하거나 공유하지 말고, wallet.json을 .gitignore에 추가하며, 오프라인 백업을 유지하고, 전용 지갑을 사용하며, 소액으로 시작하십시오. 이 프로젝트는 교육 목적으로 '있는 그대로' 공유되었으며 사용자의 책임하에 사용됩니다. README는 감사 결과, 수익 기록, 테스트 커버리지를 제공하지 않으며, 요구되는 수준의 실제 스프레드는 흔치 않다는 점을 명시적으로 언급합니다. 개인 키 처리 및 모든 온체인 전송은 주의해서 다뤄야 합니다.