这个项目能做什么

FlashLoanArbitrage 是一个使用 Node.js 构建的去中心化金融(DeFi)套利机器人。它监控 ETH/USDC 在五个平台——Chainlink(预言机)、Uniswap V2、SushiSwap、Curve Finance 和 Balancer 上的价格,并在价格差异达到至少 0.9% 时自动执行闪电贷套利交易。 ## 工作原理 该机器人分为两个部分: 1. **智能合约**:从选定协议中借入 USDC 闪电贷,将用户的 ETH 转换为 USDC,在一个交易所低价买入 ETH,然后在另一个交易所高价卖出,偿还贷款及费用和Gas,最后以 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 的交互式菜单 - 实时价格显示并带有上涨/下跌/不变指示器 - 钱包管理(创建、导入、重建) - Gas 费用保障:贷款超过 10 ETH 时要求钱包余额 ≥0.1 ETH - 在失败时自动重新连接 RPC - 在闪电贷费用、交易费用(0.1%)、滑点(0.05%)和 Gas 后计算利润 ## 安全注意事项 - 永远不要将 `wallet.json` 提交到版本控制;将其添加到 `.gitignore` - 将私钥备份离线保存 - 使用专用钱包进行机器人操作 - 初期使用小额资金测试 ## 依赖项 - ethers ^6.11.1 - inquirer ^8.2.6 - chalk ^4.1.2 ## 许可证 作为教育用途共享,风险自负。