这个项目能做什么

FlashLoanArbitrage 是一个用于以太坊 DeFi 闪电贷交易的小型 Node.js 项目。虽然仓库列表将其描述为 DeFi 投资组合管理器,但 README 文档将其定义为一个由本地脚本 (goflash.js) 和配套智能合约组成的闪电贷套利机器人。 工作原理 该脚本比较五个来源的 ETH/USDC 价格:作为基准价格的 Chainlink 预言机,以及 Uniswap V2、SushiSwap、Curve Finance 和 Balancer。它会等待交易场所之间的价格差异至少达到 0.9% 才会采取行动;低于该阈值时将继续监控以避免亏损交易。当价差足够大时,README 中描述的流程为:预先将用户的 ETH 转换为 USDC,由合约以 USDC 形式进行闪电贷,在价格较低的平台购买 ETH,在价格较高的平台将其出售,偿还贷款及闪电贷费用和 Gas 费,然后将剩余的 USDC 利润转回 ETH。README 指出,钱包余额仅用于支付 Gas 费,ETH 不会被转移到合约中。 闪电贷提供商与额度 列出了四个作为闪电贷来源的协议,每个协议都有相应的手续费和 USDC 最大贷款额度:Aave (0.05%, 最高 10,000,000)、dYdX (0.05%, 最高 500,000)、Uniswap V3 (0.01%, 最高 5,000,000) 和 Balancer (0.02%, 最高 1,000,000)。README 提到,贷款额度越大,费用越高,并建议使用 dYdX 或 Uniswap V3 以降低费用。 安装与使用 安装指南适用于本地机器:获取 goflash.js 和 package.json,将其放入任意文件夹,运行 npm install,然后执行 node goflash.js。首次启动时,脚本会提供创建新钱包(显示地址和私钥,并将私钥保存至同文件夹下的 wallet.json)或通过 0x 前缀的私钥导入现有钱包的选项。之后会出现一个交互式终端菜单,显示钱包余额和地址,选项包括:选择 DeFi 协议、设置 ETH 贷款金额、重新创建钱包、通过私钥导入另一个钱包、开始套利以及退出。套利模式被记录为大约每 60 秒扫描一次所有平台的价格,并打印一个带有上涨/下跌/不变指示符的实时价格表以及观察到的最大价差。 警告与行为注意事项 README 反复警告私钥安全:绝不要分享 wallet.json 或私钥,将其添加到 .gitignore,保留离线备份并使用专用钱包。它还警告称,由于 Gas 费的原因,钱包余额低于 0.1 ETH 将不足以支持 10 ETH 以上的贷款,并列出了考虑在内的成本(交易费 0.1%、滑点 0.05%、Gas 费、闪电贷费用)。故障排除部分涵盖了模块格式错误、私钥格式无效、资金不足、RPC 不可用以及缺失 V2 交易对等问题。文中明确指出,在真实市场中 0.9% 的价格差距很罕见,偶尔显示的模拟机会仅用于演示,且该项目仅出于教育目的按原样分享,用户需自行承担风险。 技术细节 该项目是一个 JavaScript/Node.js 应用程序,具有三个依赖项:用于以太坊交互的 ethers (^6.11.1)、用于交互式 CLI 的 inquirer (^8.2.6) 以及用于彩色控制台输出的 chalk (^4.1.2)。记录的文件结构仅包含 goflash.js、package.json、自动生成的 wallet.json 和 README。除教育用途和风险自担声明外,未提供许可条款,也未描述任何测试、部署脚本或公开的性能结果。