프로젝트 소개

FlashLoanArbitrage는 README에서 스마트 컨트랙트와 사용자가 자신의 머신에서 실행하는 로컬 Node.js 스크립트인 goflash.js로 구성된 개인 DeFi 차익거래 프로젝트로 소개됩니다. 저장소 이름(flashloan-roi-calculator)과 한 줄 설명("플래시 론 기반 투자의 ROI 계산")은 ROI 계산기를 가리키는 반면, README 자체는 실행 가능한 트레이딩 봇을 설명하고 있습니다. 이 두 설명은 완전히 일치하지 않으며, 저장소 자료의 프로젝트 구조에는 스마트 컨트랙트 소스가 포함되어 있지 않습니다. README에 설명된 작동 방식 문서에 따르면, 컨트랙트는 USDC 단위의 플래시 론을 받아 가격이 낮은 거래소에서 ETH를 매수하고, 가격이 높은 거래소에서 매도한 뒤, 대출금과 수수료 및 가스비를 상환하고 남은 수익을 다시 ETH로 전환합니다. 스크립트는 Chainlink, Uniswap V2, SushiSwap, Curve Finance, Balancer에서 ETH/USDC 가격을 폴링하여 상승/하락 표시기와 함께 표시하며, 거래소 간 스프레드가 최소 0.9%일 때만 작동한다고 합니다. 나열된 플래시 론 소스는 Aave(0.05%), dYdX(0.05%), Uniswap V3(0.01%), Balancer(0.02%)이며, 각각 명시된 유동성 한도가 있습니다. 설정 및 인터페이스 README는 4단계 워크플로우를 제공합니다. goflash.js와 package.json을 다운로드하고, npm install을 실행한 후, node goflash.js를 실행하는 것입니다. 처음 실행하면 (inquirer로 구축되고 chalk로 색상 출력 및 ethers로 Ethereum 액세스를 처리하는) 대화형 메뉴가 나타나 새 지갑을 생성하거나 개인 키로 기존 지갑을 가져올 수 있도록 제안하며, 키는 동일한 폴더의 wallet.json에 기록됩니다. 이후 메뉴에서는 프로토콜 선택, ETH 단위의 대출 금액 설정(명시된 범위: 10 ETH부터 프로토콜 최대치까지), 지갑 재생성 또는 재가져오기, 차익거래 모니터링 시작 또는 종료를 선택할 수 있습니다. 명시된 제약 사항 및 주의 사항 README는 지갑 잔액이 가스비로만 사용된다고 경고하며, 10 ETH 이상의 대출 시 최소 0.1 ETH를 권장합니다. 또한 플래시 론 수수료와 가스비 외에 0.1%의 거래 수수료와 0.05%의 슬리피지 비용을 가정하여 나열합니다. 문제 해결 섹션에서는 개인 키 형식 오류, 잔액 부족, RPC 가용성 및 ETH/USDC 페어 누락 등을 다룹니다. 특히, 실제 시장에서 0.9%의 가격 괴리는 드물며, 스크립트가 "시연을 위해 가끔 시뮬레이션된 기회를 보여준다"고 명시하고 있어, 표시된 결과가 실제 실행 가능한 거래와 일치하지 않을 수 있습니다. 라이선스 섹션에서는 이 프로젝트가 교육 목적으로 제공되며, 사용자의 책임하에 사용된다고 설명합니다. 적합한 대상 플래시 론 차익거래 흐름이 어떻게 연결되는지, 또는 대화형 CLI 패턴(지갑 메뉴, 프로토콜 선택, 실시간 가격 표)에 관심이 있는 독자라면 README를 통해 의도된 설계에 대한 읽기 쉬운 가이드를 얻을 수 있을 것입니다. 실행을 고려하는 사람은 문서에 명시된 두 가지 실질적인 점을 숙고해야 합니다. 첫째, 이 저장소에는 배포된 컨트랙트의 소스가 없으며, 둘째, 개인 키를 wallet.json에 붙여넣어야 한다는 점입니다. README는 이 파일이 민감함을 반복적으로 강조하며, .gitignore에 추가하고 오프라인 백업 및 전용 지갑을 사용할 것을 권장합니다.