프로젝트 소개
FlashLoanArbitrage는 ETH/USDC 플래시 론 차익 거래를 위한 Node.js 명령줄 봇을 설명하는 영어 README 프로젝트입니다. 이 프로젝트는 로컬에서 실행되는 스크립트인 goflash.js와 각 거래의 온체인 단계를 수행하는 스마트 컨트랙트를 결합하여 작동합니다.
작동 방식 설명
- goflash.js는 Chainlink, Uniswap V2, SushiSwap, Curve Finance, Balancer에서 ETH/USDC 가격을 폴링하며, 현재 시세와 상승/하락 표시 및 거래소 간 최대 스프레드를 표시합니다.
- 플랫폼 간 차이가 0.9% 이상일 때만 거래를 트리거하며, README는 손실이 발생하는 실행을 피하기 위해 이 임계값이 존재한다고 명시하고 있으며, 실제 시장에서 이러한 스프레드는 드물다고 언급합니다.
- 컨트랙트는 USDC 플래시 론을 받아 한 거래소에서 ETH를 저렴하게 매수하고 다른 거래소에서 더 높게 매도한 뒤, 수수료와 가스비를 포함하여 대출금을 상환하고 남은 USDC 수익을 다시 ETH로 변환하는 방식으로 설명됩니다.
플래시 론 프로토콜 및 명시된 한도
README에는 지표 한도가 포함된 4가지 대출 소스가 나열되어 있습니다: 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). 사용자는 메뉴에서 프로토콜과 대출 규모를 선택하며, README는 낮은 수수료를 위해 dYdX 또는 Uniswap V3를 권장하고, 지갑 잔액이 약 0.1 ETH 미만인 경우 가스비를 충당할 수 없으므로 10 ETH 이상의 대출을 요청하지 말라고 경고합니다.
설치 및 인터페이스
설치 과정은 일반적입니다: goflash.js와 package.json을 폴더에 복사하고 npm install(의존성: ethers ^6.11.1, inquirer ^8.2.6, chalk ^4.1.2)을 실행한 후 node goflash.js를 실행합니다. 처음 실행 시 대화형 프롬프트에서 새 지갑 생성 또는 개인 키를 통한 지갑 가져오기를 제안하며, 두 경우 모두 키는 동일한 디렉토리의 wallet.json에 기록됩니다. 메인 메뉴는 DeFi 프로토콜 선택, 대출 금액, 지갑 재생성/가져오기, 차익 거래 시작 및 종료 기능을 제공합니다. README에 표시된 저장소 구조에는 goflash.js, package.json, wallet.json, README.md만 포함되어 있어 컨트랙트 소스는 포함되어 있지 않습니다.
증명된 사항과 그렇지 않은 사항
README에는 트랜잭션 해시, 백테스트, 벤치마크 또는 수익 수치가 제공되지 않으며, 시연을 위해 스크립트가 가끔 시뮬레이션된 차익 거래 기회를 보여줄 것이라고 명시적으로 밝히고 있습니다. 따라서 수익성 주장은 검증된 결과가 아닌 작성자의 설명으로 취급해야 합니다.
주의 사항
- 이 도구는 개인 키를 요청하고 이를 wallet.json에 암호화되지 않은 상태로 저장합니다. README 자체에서도 .gitignore 사용, 오프라인 백업 및 전용 지갑 사용을 권장합니다.
- 키와 자금을 보유하는 이러한 형태의 봇은 거래 상대방 위험과 코드 위험을 수반합니다. 명시된 수수료/슬리피지 가정(거래 수수료 0.1%, 슬리피지 0.05%)은 검증되지 않았습니다.
- README는 일반적인 오류(모듈 형식, 잘못된 키 형식, 잔액 부족, RPC 중단, V2의 ETH/USDC 페어 누락)에 대한 문제 해결 노트를 제공합니다.
종합적으로, 이 프로젝트는 호스팅 서비스보다는 로컬에서 루프를 실행하려는 사용자를 대상으로 하는 이더리움 플래시 론 차익 거래를 위한 독립적인 대화형 CLI 실험입니다. 이는 교육 목적으로 제공되며 "사용자 본인의 책임하에 사용(use at your own risk)"라는 명시적인 주의 사항이 포함되어 있습니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.