프로젝트 소개
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
## 라이선스
교육 목적의 일체의 보증 없이 공유됩니다. 사용 시 본인 책임입니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.