datasets について
Turbo パイプライン向けの Goldsky ブロックチェーンデータセットを調べるリファレンススキルです。チェーン接頭辞、データセット種別、検索コマンドをまとめ、バージョンや利用可否の確認方法も説明します。
主な機能
- 01複数チェーンの接頭辞と種別一覧
- 02データセット検索・検証コマンド
- 03一般的なデータセットと用途
- 04データセットのフィールド構造
活用シーン
- 01チェーン別に転送・取引データを選定
- 02データセットのバージョンと利用可否を確認
- 03チェーン接頭辞やフィールド選択の誤りを確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ goldsky-io/ goldsky-agent --skill datasetsインストール後、Claude Code で/datasetsを入力して読み込まれたか確認します。
同梱ファイルdata/chain-prefixes.jsonevals/trigger-eval.json
詳細
Goldsky データセットリファレンス
Turbo パイプラインで利用できるブロックチェーンデータセットのリファレンスです。
データセットに関する簡単な質問(例:「Solana のトランスファーにはどのデータセットを使えばよいですか?」)には、直接回答します。以下の「人気のチェーンプレフィックス」を参照してチェーンプレフィックスを特定し、「一般的なデータセット」を参照してデータセットの種類を特定したうえで、次のような YAML スニペットを返します。
sources:
my_source:
type: dataset
dataset_name: <chain>.<dataset>
version: 1.0.0
start_at: earliest
ヒント:
goldsky dataset get <chain>.<dataset> --outputFormat jsonを実行すると、データセットの存在を確認できます。正確なスラッグ、バージョン、スキーマ、isTurboOnlyが返されます(false= Turbo および Mirror で使用可能、true= Turbo 専用)。閲覧または検索するには、goldsky dataset list --output jsonを実行します(必要に応じて--group <chain>を指定できます。この一覧は簡易インデックスで、isTurboOnlyは含まれません。確認するにはdataset getを使ってください)。goldsky turbo validate file.yamlは Turbo パイプライン設定全体を検証しますが、データセットの存在確認には使えません(Turbo 専用で、turboバイナリが必要です)。⚠️ フラグを付けずに
goldsky dataset listを実行すると、実際のターミナルでのみ動作する対話型ピッカーが起動します。エージェント/CI/パイプ経由のコンテキストでは、出力がまったく返りません。必ず--output json(または--group)を指定してください。これらのフラグに対応していない古い CLI では、読み取り専用の公開エンドポイントを代わりに使用してください:curl -s https://api.goldsky.com/api/public/datasets/v1
データセットリファレンスファイル
チェーンプレフィックスとチェーン ID の情報は
data/フォルダーにあります。
| ファイル | 内容 |
|---|---|
chain-prefixes.json | すべてのチェーンプレフィックス、チェーン ID、よくある間違い |
データの場所:(このスキルのディレクトリからの相対パス)data/
このスキルではデータセットのバージョンを固定していません。 データセットの改訂に伴いバージョン番号は変わるため、静的な一覧をそのまま信頼せず、
goldsky dataset get <name> --outputFormat jsonで正確なバージョンを確認してください。以下のデータセット種類とスキーマの表は安定したリファレンスです。表に記載されたバージョン番号は、正解ではなく、検証を始める際の目安として扱ってください。
クイックリファレンス
| 操作 | コマンド | 備考 |
|---|---|---|
| データセットを確認する | goldsky dataset get <name> --outputFormat json | 推奨 — スラッグ、バージョン、スキーマ、isTurboOnly |
| データセットを検索する | goldsky dataset list --output json | grep -i name | 非対話型 |
| すべてのデータセットを一覧表示する | goldsky dataset list --output json | 通常の dataset list は TTY 専用 — 必ず --output json を指定 |
一般的なデータセット
| 必要なデータ | データセット | 例 |
|---|---|---|
| トークントランスファー(ERC-20) | <chain>.erc20_transfers | base.erc20_transfers (v1.2.0) |
| NFT トランスファー(ERC-721) | <chain>.erc721_transfers | ethereum.erc721_transfers (v1.0.0) |
| トランザクション | <chain>.raw_transactions | ethereum.raw_transactions (v1.0.0) |
| イベントログ | <chain>.raw_logs | base.raw_logs (v1.0.0) |
| Solana トークン | solana.token_transfers | v1.0.0 |
| Bitcoin トランザクション | bitcoin.raw.transactions | v1.0.0 |
| Stellar トランスファー | stellar_mainnet.transfers | v1.1.0 |
重要:
transactionsではなく、raw_transactionsを使用してください。
よく使われるチェーンのプレフィックス
| Chain | Prefix | Note |
|---|---|---|
| Ethereum | ethereum | |
| Base | base | |
| Polygon | matic | polygonではありません |
| Arbitrum | arbitrum | |
| Optimism | optimism | |
| BSC | bsc | |
| Avalanche | avalanche | |
| Solana | solana | start_atではなくstart_blockを使用します |
| Bitcoin | bitcoin.raw | EVMと同様にstart_atを使用します |
| Stellar | stellar_mainnet | EVMと同様にstart_atを使用します |
| Sui | sui | EVMと同様にstart_atを使用します |
| NEAR | near | EVMと同様にstart_atを使用します |
| Starknet | starknet | EVMと同様にstart_atを使用します |
| Fogo | fogo | EVMと同様にstart_atを使用します |
チェーン ID を含む完全なリストはdata/chain-prefixes.jsonを参照してください。
一般的なデータセットの種類
EVM チェーン
| Dataset Type | Description | Use Case |
|---|---|---|
blocks | メタデータ付きのブロックヘッダー | ブロックエクスプローラー、タイミング分析 |
raw_transactions | トランザクションデータ | ウォレットアクティビティ、ガス分析 |
raw_logs | 生のイベントログ | カスタムイベントのフィルタリング |
raw_traces | 内部トランザクションのトレース | MEV 分析、コントラクトのやり取り |
erc20_transfers | 代替可能トークンの転送 | トークン追跡、DeFi 分析 |
erc721_transfers | NFT の転送 | NFT マーケットプレイス、所有権の追跡 |
erc1155_transfers | マルチトークンの転送 | ゲーム、マルチトークン標準 |
重要:
transactionsではなくraw_transactionsを使用してください。logsではなくraw_logsを使用してください(ただし、一部のチェーンではlogsもエイリアスとして機能します)。利用可能な
decoded_logsソースデータセットはありません。 デコード済みのコントラクトイベントを取得するには、<chain>.raw_logsをソースとして使用し、SQL 変換で_gs_log_decode(_gs_fetch_abi(<explorer-url>, <source>), topics, data)を使ってデコードしてください。パターン全体については/turbo-transformsを参照してください。
Solana
| Dataset Type | Description | Use Case |
|---|---|---|
blocks | リーダー情報を含むブロックデータ | チェーン分析 |
transactions | 残高を含むトランザクションデータ | ウォレットアクティビティ |
transactions_with_instructions | トランザクション+ネストされた命令 | 複数命令の分析 |
instructions | 個々の命令 | プログラム固有の分析 |
token_transfers | SPL トークンの転送 | トークン追跡 |
native_balances | SOL 残高の変動 | クジラの追跡 |
token_balances | SPL トークン残高の変動 | ポートフォリオの追跡 |
rewards | バリデーター報酬 | ステーキング分析 |
Bitcoin
| Dataset Type | Description | Use Case |
|---|---|---|
bitcoin.raw.blocks | ブロックデータ(ハッシュ、難易度、サイズ) | ネットワーク分析 |
bitcoin.raw.transactions | トランザクション(入力、出力、値) | 決済の追跡 |
Stellar
すべてのデータセットでバージョン 1.1.0 を使用します:
| データセットの種類 | 説明 | ユースケース |
|---|---|---|
stellar_mainnet.transactions | すべてのネットワークトランザクション | アカウントの監視 |
stellar_mainnet.transfers | すべての転送イベント | アセットの追跡 |
stellar_mainnet.events | すべてのイベント(コントラクト+オペレーション) | コントラクトの監視 |
stellar_mainnet.operations | トランザクション内のオペレーション | アクションの追跡 |
stellar_mainnet.ledger_entries | 台帳の状態変更 | 状態の分析 |
stellar_mainnet.ledgers | 台帳のメタデータ | ネットワークの分析 |
stellar_mainnet.balances | アカウント残高の変更 | 残高の追跡 |
Sui
| データセットの種類 | 説明 | ユースケース |
|---|---|---|
sui.checkpoints | チェックポイントデータ | チェーンの分析 |
sui.transactions | トランザクションデータ | アクティビティの監視 |
sui.events | Move コントラクトイベント | dApp イベントの追跡 |
sui.packages | デプロイ済み Move パッケージ | パッケージの検出 |
sui.epochs | バリデーターを含むエポックデータ | ステーキング/バリデーターの分析 |
NEAR
| データセットの種類 | 説明 | ユースケース |
|---|---|---|
near.receipts | 実行レシート | コントラクトのインタラクション追跡 |
near.transactions | 署名済みトランザクション | アクティビティの監視 |
near.execution_outcomes | 実行結果 | 成功/失敗の分析 |
Starknet
| データセットの種類 | 説明 | ユースケース |
|---|---|---|
starknet.blocks | ブロックデータ | チェーンの分析 |
starknet.transactions | トランザクションデータ | アクティビティの監視 |
starknet.events | コントラクトイベント | dApp イベントの追跡 |
starknet.messages | L1↔L2 メッセージ | ブリッジの監視 |
Fogo
| データセットの種類 | 説明 | ユースケース |
|---|---|---|
fogo.transactions_with_instructions | 命令を含むトランザクション | アクティビティ全体の追跡 |
fogo.rewards | バリデーター報酬 | ステーキングの分析 |
fogo.blocks | ブロックデータ | チェーンの分析 |
データセットのスキーマ
ソース: docs.goldsky.com。ここに記載されていないフィールド名は使用しないでください。不明なスキーマを確認するには、
goldsky dataset get <chain>.<dataset> --outputFormat jsonを実行してください。
Solana
solana.transactions
| フィールド | 型 | 備考 |
|---|---|---|
id | string | |
index | integer | ブロック内のトランザクション位置 |
block_slot | integer | スロット番号 |
block_hash | string | |
block_timestamp | timestamp | |
signature | string | トランザクション署名 |
recent_block_hash | string | |
fee | integer | lamport 単位 |
status | integer | 1 = 成功 |
err | string | null | 失敗時のエラー |
accounts | string[] | 関与するすべてのアカウント |
balance_changes | object[] | lamport 単位の {account, before, after} |
log_messages | string[] | プログラム実行ログ |
compute_units_consumed | integer |
Solana のトランザクションには
from_addressやto_addressはありません — 代わりにaccounts配列を使用してください。
solana.transactions_with_instructions
solana.transactions のすべてのフィールドに加えて、次のフィールドがあります。
| フィールド | 型 | 備考 |
|---|---|---|
pre_token_balances | object[] | トランザクション前のトークン残高 |
post_token_balances | object[] | トランザクション後のトークン残高 |
instructions | object[] | 以下を参照 |
インストラクションオブジェクトのフィールド: id、index、parent_index、block_slot、block_timestamp、block_hash、tx_signature、tx_fee、tx_index、program_id、data(base58)、accounts(string[])、instruction_type
solana.instructions
| フィールド | 型 | 備考 |
|---|---|---|
id | string | |
block_slot | integer | |
block_hash | string | |
block_timestamp | timestamp | |
tx_signature | string | トランザクション署名 |
index | integer | トランザクション内の位置 |
parent_index | integer | null | 内部インストラクション用 |
accounts | string[] | インストラクションのアカウント |
data | string | base58 エンコード済み |
program | string | プログラム名/ラベル |
program_id | string | 実行するプログラムのアドレス |
instruction_type | string | デコードされたインストラクションの種類 |
params | object | デコードされたインストラクションのパラメーター |
parsed | object | 解析済みペイロード |
solana.token_transfers
| フィールド | 型 | 備考 |
|---|---|---|
id | string | |
token_mint_address | string | ミントアドレス |
from_token_account | string | 送信元トークンアカウント |
to_token_account | string | 送信先トークンアカウント |
amount | number | 生の数量 |
decimals | integer | トークンの小数桁数 |
block_slot | integer | |
block_timestamp | timestamp | |
signature | string | トランザクション署名 |
solana.native_balances
| フィールド | 型 | 備考 |
|---|---|---|
id | string | |
block_slot | integer | スロット番号 |
block_hash | string | |
block_timestamp | timestamp | |
tx_index | integer | ブロック内のトランザクション位置 |
signature | string | トランザクション署名 |
account | string | アカウントの公開鍵 |
amount_before | integer | lamport |
amount_after | integer | lamport |
_gs_op | string | Goldsky 内部の操作タイプ |
solana.blocks
| フィールド | 型 | 備考 |
|---|---|---|
id | string | |
slot | integer | |
parent_slot | integer | |
hash | string | |
timestamp | timestamp | |
height | integer | |
previous_block_hash | string | |
transaction_count | integer | |
leader | string | バリデーターの公開鍵 |
leader_reward | integer | lamport |
skipped | boolean |
solana.rewards
| フィールド | 型 | 備考 |
|---|---|---|
id | string | |
block_slot | integer | |
block_hash | string | |
block_timestamp | timestamp | |
pub_key | string | バリデーターの公開鍵 |
lamports | integer | 報酬額 |
post_balance | integer | 報酬適用後の残高 |
reward_type | string | |
commission | integer |
solana.token_balances
スキーマは完全には文書化されていません — フィールド名を推測しないでください。
goldsky dataset get solana.token_balances --outputFormat jsonで確認してください。
EVM チェーン
<chain>.raw_logs / <chain>.logs
| フィールド | 型 | 備考 |
|---|---|---|
id | string | |
block_number | integer | |
block_hash | string | |
transaction_hash | string | |
transaction_index | integer | |
log_index | integer | |
address | string | コントラクトアドレス(小文字) |
data | string | 16 進数でエンコードされたイベントデータ |
topics | string | カンマ区切りの 16 進数トピックハッシュ |
block_timestamp | integer | Unix タイムスタンプ |
topicsは配列ではなく、カンマ区切りの文字列です。トピック 0 はイベント署名ハッシュです。
<chain>.raw_transactions
| フィールド | 型 | 備考 |
|---|---|---|
id | string | |
hash | string | |
nonce | integer | |
block_hash | string | |
block_number | integer | |
transaction_index | integer | |
from_address | string | |
to_address | string | |
value | decimal | wei 単位の ETH 値 |
gas | decimal | |
gas_price | decimal | |
input | string | 16 進数の calldata |
transaction_type | integer | |
block_timestamp | integer | Unix タイムスタンプ |
receipt_gas_used | decimal | |
receipt_contract_address | string | null | コントラクト作成時 |
receipt_status | integer | 1 = 成功 |
receipt_effective_gas_price | decimal |
L2 チェーンには次の項目も含まれます:
receipt_l1_fee、receipt_l1_gas_used、receipt_l1_gas_price、receipt_l1_fee_scalar
<chain>.blocks
| フィールド | 型 | 備考 |
|---|---|---|
id | string | |
number | integer | ブロック番号 |
hash | string | |
parent_hash | string | |
miner | string | |
gas_limit | integer | |
gas_used | integer | |
timestamp | integer | Unix タイムスタンプ |
transaction_count | integer | |
base_fee_per_gas | integer | |
difficulty | double |
<chain>.erc20_transfers
| フィールド | 型 | 備考 |
|---|---|---|
id | string | |
sender | string | 送信元アドレス |
recipient | string | 送信先アドレス |
amount | decimal | トークン量 |
address | string | トークンコントラクトアドレス |
block_number | integer | |
block_timestamp | integer | Unix タイムスタンプ |
block_hash | string | |
transaction_hash | string | |
transaction_index | integer | |
log_index | integer |
<chain>.erc721_transfers
| フィールド | 型 | 備考 |
|---|---|---|
id | string | |
from_address | string | |
to_address | string | |
token_id | decimal | |
address | string | NFT コントラクトアドレス |
block_number | integer | |
block_timestamp | integer | Unix タイムスタンプ |
block_hash | string | |
transaction_hash | string | |
transaction_index | integer | |
log_index | integer |
データセット名の形式
すべてのデータセットは、次のパターンに従います:<chain_prefix>.<dataset_type>
例:
ethereum.erc20_transfers- Ethereum メインネット上の ERC-20 送金base.logs- Base 上のすべてのイベントログmatic.blocks- Polygon のブロックデータsolana.token_transfers- Solana 上の SPL トークン送金
データセットのバージョンを確認する
データセットにはバージョンが付いています。利用可能なバージョンを確認するには:
goldsky dataset get base.erc20_transfers --outputFormat json
一般的なバージョン:
1.0.0- 初期バージョン1.2.0- 拡張スキーマ(ERC-20 送金で一般的)
迷った場合は、goldsky dataset get <name> --outputFormat json に表示される最新バージョンを使用してください。
よくあるデータセットの探し方
「Base 上の USDC 送金を追跡したい」
- データセット:
base.erc20_transfers - パイプラインの変換処理でコントラクトアドレスを使って絞り込みます:
transforms:
usdc_only:
type: sql
primary_key: id
sql: |
SELECT * FROM source_name
WHERE address = lower('0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913')
「Ethereum 上のすべての NFT アクティビティを確認したい」
データセット:ethereum.erc721_transfers
「特定のスマートコントラクトを監視したい」
- ソース:
<chain>.raw_logs。ソースフィルターでコントラクトアドレスに絞り込みます - イベントをデコードするには、
_gs_log_decode(_gs_fetch_abi(<explorer-url>, <source>), topics, data) AS decodedを呼び出す SQL 変換を追加し、その後、下流でWHERE decoded.event_signature = '<EventName>(<types>)'によって絞り込みます。トピック 0 のハッシュをソースフィルターに指定しないでください。
「マルチチェーンデータが必要な場合」
パイプラインで複数のソースを使用します。
sources:
eth_transfers:
type: dataset
dataset_name: ethereum.erc20_transfers
version: 1.0.0
start_at: latest
base_transfers:
type: dataset
dataset_name: base.erc20_transfers
version: 1.2.0
start_at: latest
トラブルシューティング
データセットが見つからない
Error: Source 'my_source' references unknown dataset 'invalid.dataset'
解決方法:
- チェーンのプレフィックスが正しいことを確認します(例:
polygonではなくmatic) - データセットの種類が存在することを確認します(例:
erc20ではなくerc20_transfers) goldsky dataset list --output jsonを実行して、利用可能なすべてのオプションを確認します
チェーンが一覧にない
上記の表でチェーンが見つからない場合:
goldsky dataset list --output json | grep -i "<chain_name>"
一部のチェーンでは、分かりにくいプレフィックスが使用されています(例:Polygon では matic が使用されます)。
バージョンの不一致
Error: Version '2.0.0' not found for dataset 'base.erc20_transfers'
解決方法: 利用可能なバージョンを確認します。
goldsky dataset get base.erc20_transfers --outputFormat json
出力に存在するバージョンを使用します。
関連項目
/turbo-builder— これらのデータセットを使用してパイプラインを構築するインタラクティブなウィザード