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

FlashLoanArbitrageは、Node.jsで構築された分散型finance(DeFi)のアービトラージボットです。ETH/USDCの価格をChainlink(オラクル)、Uniswap V2、SushiSwap、Curve Finance、Balancerの5つのプラットフォームで監視し、価格差が少なくとも0.9%に達するとフラッシュローンアービトラージ取引を自動的に実行します。 ## 動作方法 このボットは2つの部分で動作します: 1. **スマートコントラクト**:選択されたプロトコルからUSDCでのフラッシュローンを取得し、ユーザーのETHをUSDCに変換して、一方の取引所で低い価格でETHを購入し、別の取引所で高い価格で売却し、ローンと手数料、ガス代を返済して、利益を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によるインタラクティブメニュー - 上下変化を示すリアルタイム価格表示 - ウォレット管理(作成、インポート、再作成) - ガス手数料の保護:10 ETH以上のローンにはウォレット残高が0.1 ETH以上必要 - RPC接続の自動再接続機能 - フラッシュローン手数料、取引手数料(0.1%)、スリッページ(0.05%)、ガスを考慮した利益計算 ## セキュリティに関する注意事項 - `wallet.json`をバージョン管理にコミットしないでください。`.gitignore`に追加してください。 - プライベートキーのバックアップはオフラインで保管してください。 - ボット運用用に専用のウォレットを使用してください。 - 小さな金額からテストすることをお勧めします。 ## 依存関係 - ethers ^6.11.1 - inquirer ^8.2.6 - chalk ^4.1.2 ## ライセンス 教育目的でのみ共有しており、使用は自己責任でお願いします。