このプロジェクトについて

FlashLoanArbitrageは、Node.jsで構築された自動化されたDeFiトレーディングボットで、Ethereum上でフラッシュローン arbitrage を実行します。プロジェクトはJavaScriptのドライバースクリプト(goflash.js)と関連するスマートコントラクトで構成されています。 動作原理 ボットは、Chainlink(オラクル参照)、Uniswap V2、SushiSwap、Curve Finance、Balancerの5つのプラットフォーム全体でETH/USDC価格を監視します。どの2つの venues 間の価格差が0.9%以上に達すると、スクリプトは4つの対応プロトコル(Aave、dYdX、Uniswap V3、Balancer)の1つを介してフラッシュローンをトリガーします。スマートコントラクトはUSDCを借り入れ、cross-venue 取引(安くETHを買って高く売る)を実行し、ローンと手数料を返済してから、純利益をユーザーのウォレットに戻します。 対応フラッシュローンプロトコル - 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% セットアップと使用方法 ボットを実行するには、リポジトリをクローンして`npm install`で依存関係をインストールします。初回起動時、スクリプトはEthereumウォレットを生成またはインポートし、秘密鍵を`wallet.json`に保存します。インタラクティブなCLIメニューにより、フラッシュローンプロトコル、ローン額、arbトラッキングの開始/停止を選択できます。10 ETHを超えるローンには、ガス代をカバーするために少なくとも0.1 ETHのウォレット残高が必要です。 主要な動作 - 価格データの更新は約60秒ごと - 取引をトリガーするための最低しきい値は0.9%の価格スプレッド - 取引手数料(0.1%)、スリッページ(0.05%)、ガスは利益計算に含まれる - ユーザーのETHはコントラクトに送金されず、ウォレットに残り、ガスのためにのみ使用される - RPC障害、無効な秘密鍵、不足している取引ペアに対する基本的なエラー処理を含む 依存関係 - ethers ^6.11.1 - inquirer ^8.2.6 - chalk ^4.1.2 セキュリティに関する注意事項 本プロジェクトは`wallet.json`に秘密鍵を保存します;ユーザーは`.gitignore`に追加し、バックアップはオフラインで保管することを推奨します。READMEには、本プロジェクトは教育目的で現状のまま公開されており、自己責任で利用することを求めていますと記載されています。