mcpField
V
validation

validation

github.com/aibtcdevエージェントワークフロー11160 回インストール1 日前に更新
リポジトリ

validation について

validation は、validation-registry コントラクトを通じて ERC-8004 エージェントの検証を行うコマンドラインスキルです。読み取り専用の状態・集計照会に加え、アンロック済みウォレットで Stacks 上の検証リクエストや回答を送信できます。

主な機能

  1. 01エージェントの検証を依頼
  2. 02採点付きの検証回答を送信
  3. 03リクエスト状態とエージェント集計を照会
  4. 04エージェント別・検証者別の依頼一覧
  5. 05カーソル方式のページネーション

活用シーン

  1. 01エージェントの評価を検証者に依頼
  2. 02保留中の検証スコアを送信または更新
  3. 03エージェントの検証履歴を確認
  4. 04検証者に届いたリクエストを確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/aibtcdev/skills --skill validation

インストール後、Claude Code で/validationを入力して読み込まれたか確認します。

同梱ファイルAGENT.mdvalidation.ts

詳細

検証スキル

validation-registry コントラクトを使用して、ERC-8004 のオンチェーンエージェント検証操作を行います。読み取り操作(get-status、get-summary、get-agent-validations、get-validator-requests)はウォレットなしで利用できます。書き込み操作(request、respond)にはロック解除済みのウォレットが必要です。

使用方法

bun run validation/validation.ts <subcommand> [options]

サブコマンド

request

ERC-8004 検証レジストリ内のエージェントについて、バリデーターに検証をリクエストします。リクエストハッシュは、リクエストデータの 32 バイト SHA-256 ハッシュである必要があります。ロック解除済みのウォレットが必要です。

bun run validation/validation.ts request --validator <address> --agent-id <id> --request-uri <uri> --request-hash <hex> [--fee <fee>] [--sponsored]

オプション:

  • --validator(必須)— 検証をリクエストするバリデーターの Stacks アドレス
  • --agent-id(必須)— 検証をリクエストするエージェント ID(0 以上の整数)
  • --request-uri(必須)— 検証リクエストデータを指す URI
  • --request-hash(必須)— リクエストデータの 32 バイト SHA-256 ハッシュを表す 16 進数文字列
  • --fee(任意)— 手数料のプリセット(low、medium、high)または micro-STX の金額
  • --sponsored(フラグ)— スポンサー付きトランザクションとして送信します

出力:

{
  "success": true,
  "txid": "0xabc...",
  "message": "Validation requested from SP2... for agent 42.",
  "validator": "SP2...",
  "agentId": 42,
  "requestUri": "ipfs://request...",
  "network": "mainnet",
  "explorerUrl": "https://explorer.hiro.so/txid/0xabc..."
}
respond

保留中の検証リクエストに対する検証レスポンスを送信します。元のリクエストで指定されたバリデーターのみが実行できます。レスポンスは 0 から 100 までの整数である必要があります。段階的な更新のため、複数回実行できます。ロック解除済みのウォレットが必要です。

bun run validation/validation.ts respond --request-hash <hex> --response <value> --response-uri <uri> --response-hash <hex> [--tag <tag>] [--fee <fee>] [--sponsored]

オプション:

  • --request-hash(必須)— 元のリクエストの 32 バイト SHA-256 ハッシュを表す 16 進数文字列
  • --response(必須)— 検証レスポンスのスコア(0 から 100 までの整数)
  • --response-uri(必須)— 検証レスポンスデータを指す URI
  • --response-hash(必須)— レスポンスデータの 32 バイト SHA-256 ハッシュを表す 16 進数文字列
  • --tag(任意)— 検証レスポンスの分類タグ
  • --fee(任意)— 手数料のプリセット(low、medium、high)または micro-STX の金額
  • --sponsored(フラグ)— スポンサー付きトランザクションとして送信します

出力:

{
  "success": true,
  "txid": "0xdef...",
  "message": "Validation response 85 submitted for request hash a3f2b1....",
  "response": 85,
  "responseUri": "ipfs://response...",
  "tag": "security",
  "network": "mainnet",
  "explorerUrl": "https://explorer.hiro.so/txid/0xdef..."
}
get-status

32 バイトのリクエストハッシュで検証リクエストのステータスを取得します。バリデーター、エージェント ID、レスポンススコア、レスポンスハッシュ、タグ、最終更新ブロック、およびレスポンスが送信済みかどうかを返します。ウォレットは不要です。

bun run validation/validation.ts get-status --request-hash <hex>

オプション:

  • --request-hash(必須)— 検証リクエストの 32 バイト SHA-256 ハッシュを表す 16 進数文字列

出力:

{
  "success": true,
  "requestHash": "a3f2b1...64hex",
  "validator": "SP2...",
  "agentId": 42,
  "response": 85,
  "responseHash": "b4e9c2...64hex",
  "tag": "security",
  "lastUpdate": 123456,
  "hasResponse": true,
  "network": "mainnet"
}
get-summary

エージェントの集計済み検証サマリーを取得します。検証の合計数とレスポンススコアの平均を返します。ウォレットは不要です。

bun run validation/validation.ts get-summary --agent-id <id>

オプション:

  • --agent-id(必須)— 照会するエージェント ID(0 以上の整数)

出力:

{
  "success": true,
  "agentId": 42,
  "count": 3,
  "avgResponse": 88,
  "network": "mainnet"
}
get-agent-validations

エージェントの検証リクエストハッシュのページ分割された一覧を取得します。リクエストハッシュは 16 進数文字列で返されます。ページサイズは 14 のカーソルベースのページネーションを使用します。ウォレットは不要です。

bun run validation/validation.ts get-agent-validations --agent-id <id> [--cursor <cursor>]

オプション:

  • --agent-id(必須)— 照会するエージェント ID(0 以上の整数)
  • --cursor(任意)— ページネーションカーソル(直前のレスポンスから取得した 0 以上の整数)

出力:

{
  "success": true,
  "agentId": 42,
  "validations": ["a3f2b1...64hex", "c5d8e4...64hex"],
  "cursor": null,
  "network": "mainnet"
}
get-validator-requests

バリデーターに送信された検証リクエストハッシュのページ分割された一覧を取得します。リクエストハッシュは 16 進数文字列で返されます。ページサイズは 14 のカーソルベースのページネーションを使用します。ウォレットは不要です。

bun run validation/validation.ts get-validator-requests --validator <address> [--cursor <cursor>]

オプション:

  • --validator(必須)— 照会するバリデーターの Stacks アドレス
  • --cursor(任意)— ページネーションカーソル(直前のレスポンスから取得した 0 以上の整数)

出力:

{
  "success": true,
  "validator": "SP2...",
  "requests": ["a3f2b1...64hex", "c5d8e4...64hex"],
  "cursor": null,
  "network": "mainnet"
}

注意事項

  • 読み取り操作(get-status、get-summary、get-agent-validations、get-validator-requests)はウォレットがなくても実行できます
  • 書き込み操作には、ロック解除済みのウォレットが必要です(bun run wallet/wallet.ts unlock)
  • --request-hash と --response-hash は、正確に32バイト(64桁の16進数)である必要があります。SHA-256を使用してください
  • --response のスコアは、0〜100の整数(両端を含む)である必要があります
  • respond を呼び出せるのは、元の検証リクエストで指定されたバリデーターのみです
  • 同じリクエストに対して、段階的な更新を行うために respond を複数回呼び出せます
  • ページネーションではカーソルベースのナビゲーションを使用します。あるレスポンスの cursor を次の呼び出しに渡してください
  • 検証はStacks L2の操作です。書き込み呼び出しの後に stx get-transaction-status でトランザクションのステータスを確認してください

コメント