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

概要 READMEでは、FlashLoanArbitrageというDeFiフラッシュローン裁定ボットについて説明している。リポジトリ自体の説明では「market analysis automator」と呼ばれており、提供されたドキュメントと一致しない点に注意が必要。提供された資料はREADMEのみで、一人称の趣味のプロジェクトとして書かれている。 主張される機能 ローカルのNode.jsスクリプトgoflash.jsが複数のソースでETH/USDC価格をポーリングし、価格差を探す。スプレッドが記載された0.9%以上のしきい値に達すると、フラッシュローンを実行するスマートコントラクトを呼び出し、安価な取引所でETHを購入し、高価な取引所で売却し、ローンと手数料を返済した後、利益をETHに戻す。READMEでは、コントラクトはUSDCでローンを受け取り、ユーザーのETHはガスのみに使用されコントラクトに転送されないと記載されている。 記載されている取引所とプロトコル 価格ソース:Chainlink(ベースオラクルとして説明)、Uniswap V2、SushiSwap、Curve Finance、Balancer。フラッシュローン提供者:Aave、dYdX、Uniswap V3、Balancer。テキスト内ではプロバイダーごとの手数料と規模の数値が引用されている(例:Aaveは0.05%、最大10,000,000 USDC)。これらの数値は著者の主張であり、リポジトリ内のどこでも検証されていない。 実行方法 goflash.jsとpackage.jsonをダウンロードし、npm installを実行後、node goflash.jsを実行する。記載されている依存関係はethers、inquirer、chalk。初回起動時、スクリプトは新しいウォレットを作成するか秘密鍵でインポートするかをプロンプトで尋ねる。鍵は検証され、同じフォルダのwallet.jsonに書き込まれる。その後、ターミナルメニューでDeFiプロトコルの選択、ETHでのローン額、ウォレットの再作成、ウォレットのインポート、裁定監視の開始/停止、終了が提供される。READMEでは、約60秒ごとに更新される価格表示(上昇/下降/横ばいマーカー付き)や、モジュールフォーマットエラー、無効な鍵フォーマット、ガス不足、RPC再接続をカバーするトラブルシューティングセクションについて説明している。 プロジェクトの状態 ドキュメント化されたファイル一覧にはgoflash.js、package.json、wallet.json、README.mdのみが含まれており、スマートコントラクトのソースやデプロイアドレスは確認できない。テスト、CI設定、監査の記載は一切なく、ライセンスセクションでは教育目的でas-isで共有され、ユーザーの自己責任で使用されるとのみ記載されている。README自体も、0.9%のスプレッドは実際の市場では稀であり、スクリプトは「デモンストレーションのために時折シミュレーションされた機会を表示する」と認めており、実際の結果を期待する人にとっては重要な注意点である。 注意すべきリスク このワークフローでは、ユーザーが生の秘密鍵をターミナルプログラムに貼り付け、それがwallet.jsonに平文で保存される。この方法で使用されるウォレットは侵害されたものとして扱うべきであり、失ってもよい金額のみを入金し、他の資産用に再利用してはならない。READMEの利益の数値は実測値ではなく例示であり、フラッシュローン裁定取引は競争が激しくガス集約的である。また、記載されたコントラクトが存在する、あるいは文書通りに動作することを示すものはここには何もない。プロジェクトは教育的なスケッチとして扱い、実行前にコードを独自に確認すること。 位置づけ 外部サービスと通信しトリガーでアクションを実行するスクリプト化されたボットとして、automation/bots-integrationsに分類するのが最適である。価格スキャン要素には分析的な性質がわずかにあるが、示されたコードは分析やレポートではなく取引実行向けのものである。