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

FlashLoanArbitrageは、ETH/USDCのフラッシュローン裁定取引を行うためのNode.jsコマンドラインボットについて記述した英語のREADMEプロジェクトです。このプロジェクトは、ローカルで実行されるスクリプト「goflash.js」と、READMEによれば各トレードのオンチェーン処理を行うスマートコントラクトを組み合わせて動作します。 著者が説明する動作原理 - goflash.jsは、Chainlink、Uniswap V2、SushiSwap、Curve Finance、BalancerのETH/USDC価格をポーリングし、現在の価格、上昇/下降インジケーター、および会場間の最大スプレッドを表示します。 - プラットフォーム間の差が0.9%以上になった場合にのみトレードがトリガーされます。READMEでは、このしきい値は損失が出る実行を避けるために設定されており、実際の市場でこのようなスプレッドは稀であると記されています。 - コントラクトは、USDCのフラッシュローンを受け取り、ある会場で安くETHを購入し、別の会場で高く売却し、ローンと手数料およびガス代を返済した後、残りのUSDC利益をETHに変換すると説明されています。 フラッシュローンプロトコルと明記された制限 READMEには、目安となる上限を持つ4つの貸付ソースが記載されています:Aave(手数料0.05%、最大10,000,000 USDC)、dYdX(0.05%、500,000 USDC)、Uniswap V3(0.01%、5,000,000 USDC)、Balancer(0.02%、1,000,000 USDC)。ユーザーはメニューからプロトコルとローン額を選択します。READMEでは、手数料が低いdYdXまたはUniswap V3を推奨しており、ウォレットの残高が約0.1 ETH未満の場合、ガス代が不足するため10 ETHを超えるローンをリクエストすべきではないと警告しています。 セットアップとインターフェース インストール手順は一般的です。goflash.jsとpackage.jsonをフォルダにコピーし、npm install(依存関係はethers ^6.11.1、inquirer ^8.2.6、chalk ^4.1.2)を実行し、node goflash.jsを起動します。初回起動時に、新しいウォレットを作成するか秘密鍵でインポートするかを選択する対話型プロンプトが表示され、いずれの場合も鍵は同じディレクトリのwallet.jsonに書き込まれます。メインメニューでは、DeFiプロトコルの選択、ローン額の設定、ウォレットの再作成/インポート、裁定取引の開始、終了が可能です。READMEに示されているリポジトリ構成にはgoflash.js、package.json、wallet.json、README.mdのみが含まれており、コントラクトのソースコードは含まれていません。 立証されていることとされていないこと READMEには、トランザクションハッシュ、バックテスト、ベンチマーク、または利益額の記載がなく、デモンストレーションのためにスクリプトが時折シミュレーション上の裁定機会を表示することが明記されています。したがって、収益性に関する主張は検証済みの結果ではなく、著者の説明として扱う必要があります。 留意すべき実用上の注意点 - 本ツールは秘密鍵を要求し、それをwallet.jsonに暗号化せずに保存します。README自体では、.gitignoreの使用、オフラインバックアップ、および専用ウォレットの使用を推奨しています。 - 鍵と資金を保持するこの形式のボットは、カウンターパーティリスクおよびコードリスクを伴います。明記されている手数料/スリッページ想定(取引手数料0.1%、スリッページ0.05%)は未検証です。 - READMEには、一般的なエラー(モジュール形式、無効な鍵形式、資金不足、RPCの中断、V2でのETH/USDCペアの欠如)に関するトラブルシューティングノートが提供されています。 全体として、これはEthereumのフラッシュローン裁定取引を目的とした、自己完結型の対話形式CLI実験であり、ホストサービスではなくローカルでループを実行したいユーザー向けに設計されています。教育目的として「自己責任で使用すること」という明示的な注意書きと共に提供されています。