web3-data について
Chainbase CLI でオンチェーンデータと暗号資産のソーシャル情報を調べるためのスキルです。よくある質問に対応するコマンドを示し、独自のクエリには SQL を使えます。
主な機能
- 01ブロック、トランザクション、トークンを検索
- 02残高と DeFi ポートフォリオを確認
- 03ENS と Space ID の名前を解決
- 04スマートコントラクト関数を呼び出し
- 05暗号資産のトレンドとソーシャル投稿を検索
- 06SQL で独自のデータクエリを実行
活用シーン
- 01トークン価格と保有者一覧を確認
- 02ウォレットの取引と残高を調査
- 03注目の暗号資産トピックや言及を追跡
- 04CLI の標準コマンドで扱えないデータを検索
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ lxcong/ web3-data-skill --skill web3-dataインストール後、Claude Code で/web3-dataを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
CLAUDE.md.gitignoreLICENSEclawhub.jsonREADME.mdreferences/tops-api.mdapi-endpoints.md詳細
Web3 データエクスプローラー(Chainbase)
Chainbase CLI を使用してオンチェーンデータをクエリします。
クイックリファレンス
インストール:npm install -g chainbase-cli(または npx chainbase-cli を使用)
認証:chainbase config set api-key YOUR_KEY で API キーを設定するか、環境変数 CHAINBASE_API_KEY を設定します。設定がない場合は demo キーを使用します。レート制限に達した場合は、キーを取得するために https://platform.chainbase.com を案内してください。
x402 決済:--x402 フラグを使用した従量課金のマイクロペイメントに対応しています。設定:chainbase config set private-key 0x...
# Top token holders
chainbase token top-holders 0xdAC17F958D2ee523a2206206994597C13D831ec7 --chain 1 --limit 10
# Token price
chainbase token price 0xdAC17F958D2ee523a2206206994597C13D831ec7
# ENS resolve
chainbase domain ens-resolve vitalik.eth
# SQL query
chainbase sql execute "SELECT * FROM ethereum.blocks ORDER BY number DESC LIMIT 5"
機械で解析可能な出力には --json を使用します。特定のチェーンを対象にするには --chain <id> を使用します。
チェーン ID
| チェーン | ID | チェーン | ID |
|---|---|---|---|
| Ethereum | 1 | Optimism | 10 |
| BSC | 56 | Base | 8453 |
| Polygon | 137 | zkSync | 324 |
| Avalanche | 43114 | Arbitrum | 42161 |
ユーザーが別のチェーンを指定しない限り、Ethereum(チェーン 1)をデフォルトにします。
ルーティングロジック
ユーザーの意図に応じて、適切な CLI コマンドを選びます。
| ユーザーの要望 | CLI コマンド |
|---|---|
| 最新のブロック番号 | chainbase block latest |
| ブロックの詳細 | chainbase block detail <number> |
| トランザクションの詳細 | chainbase tx detail <hash> |
| ウォレットのトランザクション履歴 | chainbase tx list <address> |
| トークン情報(名前、シンボル、供給量) | chainbase token metadata <contract> |
| トークン価格 | chainbase token price <contract> |
| トークンの過去の価格 | chainbase token price-history <contract> --from <ts> --to <ts> |
| 保有者アドレスの一覧 | chainbase token holders <contract> |
| 上位のトークン保有者/トークンの保有者 | chainbase token top-holders <contract> |
| トークンの送金履歴 | chainbase token transfers --contract <addr> |
| ネイティブトークンの残高(ETH/BNB) | chainbase balance native <address> |
| ウォレットの ERC20 トークン残高 | chainbase balance tokens <address> |
| DeFi ポートフォリオのポジション | chainbase balance portfolios <address> |
| アドレスが保有する ENS ドメイン | chainbase domain ens <address> |
| ENS 名 → アドレス | chainbase domain ens-resolve <name> |
| アドレス → ENS 名 | chainbase domain ens-reverse <address> |
| Space ID の解決(BSC) | chainbase domain spaceid-resolve <domain> |
| Space ID の逆引き(BSC) | chainbase domain spaceid-reverse <address> |
| スマートコントラクト関数の呼び出し | chainbase contract call --address <contract> --function "fn" --abi '[...]' --params '[...]' |
| 上記に該当しないもの | SQL API:chainbase sql execute "SELECT ..." |
ワークフロー
- 意図を特定する — ユーザーが必要としているデータを判断します
- 識別子を解決する — ユーザーがトークン名(例:「USDT」)を指定した場合は、コントラクトアドレスを調べます。一般的なトークン:
- USDT:
0xdAC17F958D2ee523a2206206994597C13D831ec7(ETH) - USDC:
0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48(ETH) - WETH:
0xC02aaA39b223FE8D0A0e5c4F27eAD9083C756Cc2(ETH) - DAI:
0x6B175474E89094C44Da98b954EedeAC495271d0F(ETH) - WBTC:
0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599(ETH) - 不明な場合は、
chainbase token metadata <contract>を使用するか、ユーザーにコントラクトアドレスを尋ねます
- USDT:
- コマンドを選択する — 上記のルーティング表を使用します。複雑なクエリやカスタムクエリには SQL API を使用します
- 実行する — CLI コマンドを実行します。出力をプログラムで解析する必要がある場合は
--jsonを追加します - 結果を提示する — 一覧には表を使用し、データを見やすく整形して重要な情報を強調します
グローバルオプション
すべてのコマンドで次のオプションを使用できます。
| オプション | 説明 | デフォルト |
|---|---|---|
--chain <id> | 対象のチェーン | 1(Ethereum) |
--json | 機械で解析可能な JSON 出力 | false |
--page <n> | ページ分割された結果のページ番号 | 1 |
--limit <n> | 1 ページあたりの結果数 | 20 |
--x402 | x402 マイクロペイメントモードを有効化 | false |
SQL API のフォールバック
CLI コマンドでクエリに対応できない場合は、ユーザーの意図を SQL に変換します。
chainbase sql execute "SELECT from_address, SUM(value) as total FROM ethereum.token_transfers WHERE contract_address = '0x...' GROUP BY from_address ORDER BY total DESC LIMIT 20"
一般的なテーブルパターン(ethereum をチェーン名に置き換えてください):
{chain}.blocks— ブロックデータ{chain}.transactions— トランザクション{chain}.token_transfers— ERC20 の送金{chain}.token_metas— トークンのメタデータ{chain}.logs— イベントログ
SQL の制約:クエリあたり最大 100,000 件の結果です。
コマンドのヘルプ全体を表示するには、chainbase --help または chainbase <command> --help を実行してください。
暗号資産のソーシャルインテリジェンス(Tops)
chainbase tops を使用して暗号資産のソーシャルシグナルをクエリします。API キーは不要で、無料で利用できます。
サービス: Tops — トレンドのナラティブ、トピックの発見、Twitter/X のメンション。
ベース URL: https://api.chainbase.com/tops(CLI 内部で呼び出されます)
レート制限: 10 req/s · 60 req/min · 600 req/hour(クライアント IP ごと)
クイックリファレンス
# List trending crypto topics (default: English)
chainbase tops trending
chainbase tops trending --language zh # Chinese
chainbase tops trending --language ko # Korean
# Get structured details for a topic
chainbase tops topic <topic_id>
# Get posts/tweets under a topic
chainbase tops posts <topic_id>
# Search narrative candidates by keyword
chainbase tops search "RWA"
chainbase tops search "AI Agent"
# Search recent Twitter/X mentions
chainbase tops mentions "Ethereum ETF"
機械で解析可能な出力には --json を使用してください。
ルーティングロジック
ユーザーの意図に適したサブコマンドを選択します。
| ユーザーの要望 | CLI コマンド |
|---|---|
| 現在、暗号資産で何がトレンドになっているか | chainbase tops trending [--language <lang>] |
| 特定のトピックの詳細/概要 | chainbase tops topic <topic_id> |
| トピックに関連する生のツイート/投稿 | chainbase tops posts <topic_id> |
| ナラティブのキーワードに関連するトピックを検索する | chainbase tops search <keyword> |
| プロジェクトやキーワードに関する最近の Twitter/X のメンション | chainbase tops mentions <keyword> |
ワークフロー
トレンドの追跡
chainbase tops trending→ 現在のトップトピックを取得します(idフィールドを確認してください)chainbase tops topic <id>→ 概要、キーワード、代表的なツイートを詳しく確認しますchainbase tops posts <id>→ センチメント分析のために生のツイートを取得します
ナラティブの発見
chainbase tops search <keyword>→ 曖昧な語句から候補となるトピックを見つけます- 候補を分類・要約し、対象のトピック ID を特定します
chainbase tops topic <id>→ トピックの詳細を確認します
リアルタイム監視
chainbase tops mentions <keyword>→ プロジェクト/トークンに関するソーシャルメンションを監視します- 結果から立場、センチメント、主な発信者を抽出します
データスキーマ
ストーリー(トピック):id、keyword、summary、score、current_rank、rank_status(new/up/down/same)、is_new、authors[]、tweet_urls[]、first_tweet_time、snapshot_time
ツイート:id、text、media_json、user → {user_id, name, screen_name, blue_verified, profile_image}