このプロジェクトについて
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には、本プロジェクトは教育目的で現状のまま公開されており、自己責任で利用することを求めていますと記載されています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.