Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

仕組み

このページでは、Daiko Terminalがどのように条件を評価し、通知を配信するかを説明します。これらの概念を理解することで、より良い条件を作成し、現実的な期待を設定できます。

評価ループ

DSL JSONValidateCompileto SQLExecuteFilter &NotifyWhitelist checkParameterizedMax 500 results+ Cooldown

条件を保存すると、裏側では以下のことが起こります:

  1. DSLがバリデーションされる - システムが条件に有効なフィールドと演算子が使われているか確認
  2. SQLにコンパイルされる - 条件がパラメータ化されたデータベースクエリに変換(生のSQLインジェクションは不可能)
  3. クエリが実行される - マッチするトークンがライブデータベースから取得
  4. 結果がフィルタリングされる - クールダウンとリミットが適用
  5. 通知が送信される - Telegram経由でアラートを受信(接続されている場合)

このループは定期的(通常は数秒ごと)に実行されるため、条件は常に最新のデータに対して評価されます。

主要概念

条件(Condition)
トークンをフィルタリングするために定義するルールのセット。生のSQLではなく、DSL(JSON形式)で記述。
Example: holder_count > 100 のトークンを検索
評価(Evaluation)
条件をデータベースに対してチェックし、マッチを見つける定期的なプロセス。
クールダウン(Cooldown)
あるトークンについて通知した後、同じ条件で再度通知されない期間。
Example: クールダウンが1時間の場合、1トークンにつき1時間に1回だけ通知
リミット(Limit)
各評価サイクルで返されるトークンの最大数。

制限と制約

結果リミット: 500トークン

各評価で最大500トークンが返されます。条件が500以上のトークンにマッチする場合:

  • order_byまたはデフォルトの順序に基づいた最初の500件のみが返されます
  • 残りは上位に浮上するか条件が変更されるまで表示されません

ベストプラクティス: より具体的な条件を使うか、order_by句を追加して最も重要なものを優先しましょう。

クールダウン期間

特定の条件で特定のトークンについて通知を受けた後、そのトークンはその条件に対してクールダウン期間に入ります。クールダウン中:

  • トークンは引き続き条件にマッチする可能性があります
  • ただし重複通知は送信されません
  • クールダウンは(条件、トークン)ペアごとに追跡されます

アクティブな条件のみ

アクティブなエージェントアクティブな条件のみが評価されます。以下の場合:

  • 条件を無効化:評価が停止
  • エージェントを削除:すべての条件が削除

通知

Telegram(メインチャネル)

トークンが条件にマッチすると:

  1. システムがTelegramが接続されているか確認
  2. 接続されている場合、以下を含むメッセージを送信:
    • エージェント名
    • マッチしたトークンの詳細(シンボル、アドレス、メトリクス)
    • 詳細を見るためのリンク

送信される内容

各通知に含まれる情報:

フィールド説明
シンボルトークンシンボル(例:PEPE、WIF)
ミントアドレスSolana上のユニークなトークン識別子
価格(SOL)SOL建ての現在価格
時価総額(USD)USD建ての時価総額

データの鮮度

条件はほぼリアルタイムのデータに対して実行されます:

  • トークンメタデータ(シンボル、作成時刻):新しいトークンの作成に伴い更新
  • メトリクス(価格、時価総額、ホルダー数):オンチェーンデータから継続的に更新
  • 取引データ:最小限の遅延でブロックチェーンからストリーミング

セキュリティモデル

条件が安全な理由:

  1. 生のSQLなし: DSL(JSON)を書き、SQLではありません。システムがバリデーションしてコンパイル。
  2. フィールドホワイトリスト: 特定の許可されたフィールドのみクエリ可能
  3. パラメータ化されたクエリ: すべての値はパラメータとして渡され、文字列連結ではない
  4. パース時のバリデーション: 無効な条件は実行前に拒否

この設計によりSQLインジェクションを防ぎ、意図したデータのみをクエリできることを保証します。

まとめ

項目動作
評価頻度定期的(数秒ごと)
1回あたり最大500トークン
クールダウン(条件、トークン)ペアごと、インメモリ
通知Telegram(接続が必要)
データの鮮度ほぼリアルタイム(チェーンから数秒遅れ)
セキュリティバリデーション済みDSL → パラメータ化SQL

クエリできる内容の詳細は、DSLリファレンスをご覧ください。