トレーディングボットのデプロイ

CatScopeでトレーディングボットを実行することで、リアルタイムのSolanaデータに低レイテンシでアクセスし、バリデーター内のサンドボックス化された環境で効率的で信頼性の高いMEV戦略をデプロイすることができます。これにより、トレーダーは資金の管理を維持しつつ、高度な戦略を実行できます。

セキュリティの懸念に対処する

プライベートキーを使用したボットをサードパーティのバリデーターでデプロイすることは、セキュリティ上の課題を引き起こすことがあります。このリスクに対処するために、私たちはSafeJarを統合しました。このツールは、次のことを保証します:

  • ルールベースの委任: SafeJarを使用すると、取引制限、認可された取引経路、リスク管理など、ボットの支出に対して厳格な制約を定義できます。
  • 不正取引の防止: 事前に定義されたルール外で行われた取引やアクションは自動的にブロックされ、資金は安全に保たれます。

このセキュリティ層により、リスクを最小限に抑えながらトレーディングボットを自信を持ってデプロイすることができます。

仕組み

  1. バリデーターでのサンドボックス化
  • ボットはWebAssembly(WASM)環境でバリデーター上に直接ホストされます。
  • これにより、機密性の高いバリデーターシステムへの直接アクセスを制限しながら、ボットはSolanaチェーンとOnAccountAccountGetなどのインポート/エクスポートされた関数を通じて相互作用できます。
  1. リアルタイムチェーンステートへのアクセス
  • ボットは共有メモリを通じてアップデートを受け取り、関連するアカウント、スロット、トークンデータに即座にアクセスできます。
  • 従来のポーリング方法とは異なり、CatScopeのアーキテクチャはリアルタイムで原子的な更新を提供し、レイテンシの問題やメッセージのドロップを排除します。
  1. SafeJar統合
  • 資金は「SafeJar委任アカウント」を通じてアクセスされ、支出ルールが適用され、取引後に利益は安全なウォレットまたは「Jar」にスイープされます。
  • 制約には支出上限、認可されたトークン、および定義された取引プールが含まれており、トレーダーにより多くのセキュリティとコントロールを提供します。

キャッシュフロー図

以下の図は、Orca DEX向けに設計されたサンプルアービトラージボットでの資金の流れを示しています。このボットは、USDC/SOL、USDT/SOL、およびUSDC/USDTの3つの特定のホイールプールを監視し、利益を得る取引を実行し、SafeJarのルールに従います。

この例はCatscopeの利用ケースを示していますが、実際にプラットフォームを使用するトレーダーは、自身の戦略やターゲット市場に合わせたボットを開発します。

Diagram

ボットのデプロイ

トレーディングボットをデプロイするための手順は以下の通りです:

  1. ボットの準備

    • ボットをWASM互換言語(例:Rust、Go)で記述します。
    • Solpipeマーケットプレイスおよびバリデーター環境との相互作用に必要なprotobuf定義されたインターフェースを統合します。ボットは、次のようなリアルタイムチェーンステートの更新を取得し、応答する必要があります:
      • アカウントおよびステート通知
        • Get: 単一の通知リクエストを取得。
        • GetTreeByPubkey: 公開鍵ごとにツリー構造として整理されたチェーンステートの更新を取得。
        • Stream: ストリームされたチェーンステートの更新やフィルタリングされた通知を動的に処理。
      • チェーンステートの監視
        • OnSlot: SlotRequestおよびSlotResponseを使用してスロットの更新を監視および応答。
        • OnSol: SolRequestおよびSolResponseを使用してSOLアカウント残高にアクセス。
        • OnToken: トークン関連のステートクエリを管理、以下を含む:
          • TokenById: 特定のトークンをIDでクエリ。
          • TokenByOwner: 特定のアカウントが所有するすべてのトークンを取得。
          • TokenByOwnerAndMint: オーナーとミントの組み合わせでトークンをクエリ。
      • 通知と更新
        • NotificationRequestをサポートし、ツリーの状態変更に関するリアルタイムの更新を受け取る。
        • Notificationメッセージを処理し、ペイロードの更新、ノードの変更、削除を含む。
  2. SafeJarルールの設定

    • 支出制限、取引承認、利益のスイープに関するルールを定義します。
    • SafeJar設定がトレーディング戦略およびリスク耐性に合致していることを確認するためにテストします。
  3. バリデーターへのデプロイ

    • Solpipeマーケットプレイスを通じてゲストスポットを提供しているバリデーターを選択します。
    • ボットのWASMバイナリをアップロードし、バリデーターの環境で安全に実行します。
  4. 監視と最適化

    • CatScopeのツールを使用してボットのパフォーマンスを監視し、取引ログを追跡し、戦略を洗練させます。
    • 必要に応じてSafeJarルールとボットのパラメーターを調整し、パフォーマンスを最適化します。