프로젝트 소개

FlashLoanArbitrage는 Node.js로 구축된 탈중앙화 금융(DeFi) 이자차익 거래 봇입니다. 이 봇은 Chainlink(오라클), Uniswap V2, SushiSwap, Curve Finance, Balancer 등 5개의 플랫폼에서 ETH/USDC 가격을 모니터링하며, 가격 차이가 최소 0.9%에 달할 경우 플래시 로ーン 이자차익 거래를 자동으로 실행합니다. ## 작동 방식 봇은 두 부분으로 구성됩니다: 1. **스마트 계약**: 선택한 프로토콜에서 USDC로 플래시 로ーン을 받아 사용자의 ETH를 USDC로 전환하고, 한 거래소에서는 저렴한 가격에 ETH를 구매하여 다른 거래소에서는 더 높은 가격에 판매한 후, 로ーン과 수수료 및 가스비를 상환하고 이윤을 ETH로 반환합니다. 2. **CLI 스크립트 (`goflash.js`)**: 60초마다 가격을 폴링하여 실시간 값을 변경 표시와 함께 표시하고, 수익성 있는 가격 차이가 감지되면 스마트 계약을 트리거합니다. ## 지원되는 플래시 로ーン 프로토콜 - **Aave** — 최대 10,000,000 USDC, 수수료 0.05% - **dYdX** — 최대 500,000 USDC, 수수료 0.05% - **Uniswap V3** — 최대 5,000,000 USDC, 수수료 0.01% - **Balancer** — 최대 1,000,000 USDC, 수수료 0.02% ## 설치 및 사용법 1. 저장소를 클론하고 `goflash.js`와 `package.json`을 폴더에 복사합니다. 2. 의존성을 설치합니다: `npm install` 3. 실행합니다: `node goflash.js` 4. 첫 실행 시 새 지갑을 생성하거나 기존 지갑을 개인키로 가져옵니다. 키는 `wallet.json`에 저장됩니다. 5. 대화형 CLI 메뉴를 사용하여 플래시 로ーン 프로토콜을 선택하고 대출 금액(최소 10 ETH)을 설정한 후 이자차익 모니터링을 시작합니다. ## 주요 기능 - Inquirer로 구동되는 대화형 메뉴 - 위/아래/변경 없음 표시와 함께 실시간 가격 표시 - 지갑 관리 (생성, 가져오기, 재생성) - 가스 수수료 보호: 10 ETH 이상의 로ーン은 지갑 잔액이 최소 0.1 ETH 이상 필요 - 실패 시 자동 RPC 재연결 - 플래시 로ーン 수수료, 거래 수수료(0.1%), 슬리피지(0.05%), 가스비를 고려한 수익 정산 ## 보안 참고 사항 - 절대로 `wallet.json`을 버전 관리에 커밋하지 마세요. `.gitignore`에 추가하세요. - 개인키 백업은 오프라인으로 보관하세요. - 봇 운영에는 전용 지갑을 사용하세요. - 테스트를 위해 작은 금액부터 시작하세요. ## 종속성 - ethers ^6.11.1 - inquirer ^8.2.6 - chalk ^4.1.2 ## 라이선스 교육 목적의 일체의 보증 없이 공유됩니다. 사용 시 본인 책임입니다.