프로젝트 소개
# 개요
본 README는 이 저장소를 "FlashLoanArbitrage"로 설명합니다. 이는 스마트 컨트랙트와 함께 작동하여 DeFi에서 플래시 론을 이용해 ETH/USDC 차익거래를 수행하는 로컬 Node.js 스크립트(`goflash.js`)입니다. 저장소 항목 이름이 "효율적인 실행을 위한 주문 큐 관리"라는 설명과 함께 `smart-order-manager`로 되어 있어 README 내용과 일치하지 않으므로, 실행 전 다운로드 내용을 반드시 확인하십시오.
## 보고된 동작
- Chainlink, Uniswap V2, SushiSwap, Curve Finance, Balancer에서 60초마다 ETH/USDC 가격을 폴링하며, 변경 표시(↑ / ↓ / —)가 포함된 컬러 터미널 테이블로 출력합니다.
- 플랫폼 간 스프레드가 0.9% 이상이 될 때까지 대기한 후 거래를 트리거합니다. README에서는 실제 시장에서 이러한 차이는 드물며, 시연 목적으로 스크립트가 가끔 시뮬레이션된 기회를 표시한다고 명시하고 있습니다.
- 컨트랙트 측면에서는 플래시 론을 통해 USDC를 빌려 저렴한 곳에서 ETH를 매수하고 비싼 곳에서 매도한 뒤, 수수료와 가스비를 포함해 대출금을 상환하고 남은 USDC 수익을 다시 ETH로 변환하는 방식으로 설명됩니다.
- 명시된 수수료율과 플래시 론 소스: Aave (0.05%, 최대 10,000,000 USDC), dYdX (0.05%, 최대 500,000), Uniswap V3 (0.01%, 최대 5,000,000), Balancer (0.02%, 최대 1,000,000).
## 실행 방법
Node.js가 필요합니다. 실행 방법은 다음과 같습니다: `goflash.js`와 `package.json`을 폴더에 넣고 `npm install`을 실행한 후 `node goflash.js`를 실행합니다. 나열된 종속성은 ethers ^6.11.1, inquirer ^8.2.6, chalk ^4.1.2입니다.
첫 실행 시 대화형 프롬프트를 통해 새 지갑을 생성하거나 개인 키로 가져올 수 있습니다. 키는 스크립트 옆의 `wallet.json`에 기록됩니다. 이후 메뉴에서 플래시 론 프로토콜 선택, ETH 대출 금액 설정(README 기준 10 ETH부터 프로토콜 최대치까지), 지갑 재생성 또는 재가져오기, 차익거래 시작 또는 종료를 선택할 수 있습니다. README는 잔액이 0.1 ETH 미만인 경우 가스비를 충당할 수 없으므로 10 ETH 이상의 대출을 사용하지 말라고 경고합니다.
## 우선 확인해야 할 사항
- **배포:** README는 `goflash.js`와 `package.json`만 다운로드하라고 안내하며, 프로젝트 구조에도 이 두 파일과 자동 생성되는 `wallet.json`, README만 포함되어 있습니다. 스마트 컨트랙트 소스가 포함되어 있지 않으므로, 스크립트가 상호작용하려는 온체인 코드를 이 저장소만으로는 검토할 수 없습니다.
- **키 처리:** 개인 키가 `wallet.json`에 평문으로 저장됩니다. README 자체에서 이를 .gitignore에 추가하고 오프라인 백업을 유지하며 전용 지갑을 사용할 것을 권장하지만, 이상적으로는 키를 이런 방식으로 처리해서는 안 됩니다.
- **주장 및 리스크:** README는 이 프로젝트를 교육용으로 정의하고 "본인 책임하에 사용"할 것을 명시하며, 성능 수치, 실제 결과 또는 감사 보고서를 제공하지 않습니다. 또한 플래시 론 수수료와 함께 비용(거래 수수료 0.1%, 슬리피지 0.05%, 가스비)을 나열하고 RPC 실패, 잘못된 키, 잔액 부족에 대한 문제 해결 방법을 문서화하고 있습니다.
이 프로젝트를 개인 키를 요청하는 검증되지 않은 스크립트로 취급하십시오. 코드를 직접 검토하고, 어떤 컨트랙트와 주소를 호출하는지 정확히 이해하기 전까지는 실제 자산을 사용하지 마십시오.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.