프로젝트 소개

개요 FlashLoanArbitrage는 플래시 론을 기반으로 구축된 DeFi 차익거래를 위한 소규모 Node.js 명령줄 프로젝트입니다. README에는 USDC로 대출-매수-매도-상환 사이클을 수행하는 온체인 스마트 컨트랙트와 가격을 감시하고 컨트랙트를 구동하는 로컬 스크립트인 goflash.js의 두 부분이 설명되어 있습니다. 작성자는 다른 사람들이 시도해 볼 수 있도록 공유한 개인 프로젝트로 이를 제시합니다. 문서에 기재된 작동 방식 컨트랙트는 USDC로 플래시 론을 받고, 사전에 사용자의 ETH를 USDC로 변환하며, 저렴한 거래소에서 ETH를 매수하여 더 비싼 거래소에 매도한 뒤, 수수료와 가스비를 포함한 대출금을 상환하고 남은 수익을 다시 ETH로 변환한다고 설명되어 있습니다. 로컬 스크립트는 ETH/USDC 가격을 폴링하며, 거래소 간의 스프레드가 최소 0.9%일 때만 작동하고 그 미만일 때는 대기합니다. 스캐닝은 60초마다 실행되는 것으로 설명되어 있으며, 각 거래소의 가격과 상승/하락/유지 표시기가 콘솔에 표시됩니다. 명시된 거래소 및 제공자 가격 소스: Chainlink(기본 오라클 가격), Uniswap V2, SushiSwap, Curve Finance 및 Balancer. 플래시 론 제공자: 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). 비용 구성 요소로는 플래시 론 수수료, 0.1%의 거래 수수료, 0.05%의 슬리피지와 가스비가 나열되어 있습니다. 설치 및 사용법 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를 유지할 것을 권장합니다. 시도 전 주의 사항 프로젝트 구조에는 goflash.js, package.json, wallet.json 및 README.md만 나열되어 있어, 설명된 파일들에 컨트랙트 소스는 포함되어 있지 않습니다. README 자체에서도 실제 시장에서 0.9%의 스프레드는 드물며, 스크립트가 시연을 위해 가끔 시뮬레이션된 기회를 보여줄 것이라고 명시하고 있습니다. 이는 표시된 기회가 반드시 실행 가능하다는 의미는 아닙니다. 또한 키 보호 기능을 구현하는 대신 개인 키 취급에 대해 반복적으로 경고합니다. 키는 wallet.json에 평문으로 기록되며, 사용자는 이를 .gitignore에 추가하고 오프라인으로 백업하며 전용 지갑을 사용하고 소액으로 시작하라는 안내를 받습니다. 이 프로젝트는 교육 목적으로 '있는 그대로' 공유되었으며, 별도의 라이선스 명시 없이 사용자 본인의 책임하에 사용해야 합니다.