这个项目能做什么
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
## 许可证
作为教育用途共享,风险自负。
评论
0 评分人数达到10人后显示
登录后参与讨论。