このプロジェクトについて
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
## ライセンス
教育目的でのみ共有しており、使用は自己責任でお願いします。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.