关于 datasets
Goldsky 区块链数据集参考技能,面向查找 Turbo 可用数据集并配置数据源的用户。它整理链前缀、数据类型和查询命令,并提示如何核实数据集版本与可用范围。
主要功能
- 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验证数据集是否存在——该命令会返回确切的 slug、版本、架构和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是交互式选择器,只能在真实终端中运行——在 Agent/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 | 首选——slug、版本、架构、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 |
重要: 使用
raw_transactions,而不是transactions
常见的链前缀
| 链 | 前缀 | 备注 |
|---|---|---|
| Ethereum | ethereum | |
| Base | base | |
| Polygon | matic | 不是 polygon |
| Arbitrum | arbitrum | |
| Optimism | optimism | |
| BSC | bsc | |
| Avalanche | avalanche | |
| Solana | solana | 使用 start_block,而非 start_at |
| 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 链
| 数据集类型 | 描述 | 用途 |
|---|---|---|
blocks | 含元数据的区块头 | 区块浏览器、时间分析 |
raw_transactions | 交易数据 | 钱包活动、Gas 分析 |
raw_logs | 原始事件日志 | 自定义事件筛选 |
raw_traces | 内部交易跟踪记录 | MEV 分析、合约交互 |
erc20_transfers | 同质化代币转账 | 代币跟踪、DeFi 分析 |
erc721_transfers | NFT 转账 | NFT 市场、所有权跟踪 |
erc1155_transfers | 多代币转账 | 游戏、多代币标准 |
重要: 使用
raw_transactions,而非transactions。使用raw_logs,而非logs(不过,某些链会将logs作为别名)。没有可供使用的
decoded_logs源数据集。 如需解码合约事件,请从<chain>.raw_logs获取数据,并在 SQL 转换中通过_gs_log_decode(_gs_fetch_abi(<explorer-url>, <source>), topics, data)进行解码。完整模式请参阅/turbo-transforms。
Solana
| 数据集类型 | 描述 | 用途 |
|---|---|---|
blocks | 含出块者信息的区块数据 | 链分析 |
transactions | 含余额的交易数据 | 钱包活动 |
transactions_with_instructions | 交易 + 嵌套指令 | 多指令分析 |
instructions | 单条指令 | 特定程序分析 |
token_transfers | SPL 代币转账 | 代币跟踪 |
native_balances | SOL 余额变化 | 巨鲸跟踪 |
token_balances | SPL 代币余额变化 | 投资组合跟踪 |
rewards | 验证者奖励 | 质押分析 |
Bitcoin
| 数据集类型 | 描述 | 用途 |
|---|---|---|
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 | 含验证者的 Epoch 数据 | 质押/验证者分析 |
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 | slot 编号 |
block_hash | string | |
block_timestamp | timestamp | |
signature | string | 交易签名 |
recent_block_hash | string | |
fee | integer | 单位为 lamports |
status | integer | 1 = 成功 |
err | string | null | 失败时的错误 |
accounts | string[] | 涉及的所有账户 |
balance_changes | object[] | {account, before, after},单位为 lamports |
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 | slot 编号 |
block_hash | string | |
block_timestamp | timestamp | |
tx_index | integer | 区块中的交易位置 |
signature | string | 交易签名 |
account | string | 账户公钥 |
amount_before | integer | lamports |
amount_after | integer | lamports |
_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 | lamports |
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 | 字符串 | |
block_number | 整数 | |
block_hash | 字符串 | |
transaction_hash | 字符串 | |
transaction_index | 整数 | |
log_index | 整数 | |
address | 字符串 | 合约地址(小写) |
data | 字符串 | 十六进制编码的事件数据 |
topics | 字符串 | 以逗号分隔的十六进制主题哈希 |
block_timestamp | 整数 | Unix 时间戳 |
topics是以逗号分隔的字符串,不是数组。Topic 0 是事件签名哈希。
<chain>.raw_transactions
| 字段 | 类型 | 说明 |
|---|---|---|
id | 字符串 | |
hash | 字符串 | |
nonce | 整数 | |
block_hash | 字符串 | |
block_number | 整数 | |
transaction_index | 整数 | |
from_address | 字符串 | |
to_address | 字符串 | |
value | 十进制数 | 以 wei 为单位的 ETH 数值 |
gas | 十进制数 | |
gas_price | 十进制数 | |
input | 字符串 | 十六进制 calldata |
transaction_type | 整数 | |
block_timestamp | 整数 | Unix 时间戳 |
receipt_gas_used | 十进制数 | |
receipt_contract_address | 字符串 | null | 合约创建时提供 |
receipt_status | 整数 | 1 = 成功 |
receipt_effective_gas_price | 十进制数 |
L2 链还包含:
receipt_l1_fee、receipt_l1_gas_used、receipt_l1_gas_price、receipt_l1_fee_scalar
<chain>.blocks
| 字段 | 类型 | 说明 |
|---|---|---|
id | 字符串 | |
number | 整数 | 区块编号 |
hash | 字符串 | |
parent_hash | 字符串 | |
miner | 字符串 | |
gas_limit | 整数 | |
gas_used | 整数 | |
timestamp | 整数 | Unix 时间戳 |
transaction_count | 整数 | |
base_fee_per_gas | 整数 | |
difficulty | 双精度浮点数 |
<chain>.erc20_transfers
| 字段 | 类型 | 说明 |
|---|---|---|
id | 字符串 | |
sender | 字符串 | 发件地址 |
recipient | 字符串 | 收件地址 |
amount | 十进制数 | 代币数量 |
address | 字符串 | 代币合约地址 |
block_number | 整数 | |
block_timestamp | 整数 | Unix 时间戳 |
block_hash | 字符串 | |
transaction_hash | 字符串 | |
transaction_index | 整数 | |
log_index | 整数 |
<chain>.erc721_transfers
| 字段 | 类型 | 说明 |
|---|---|---|
id | 字符串 | |
from_address | 字符串 | |
to_address | 字符串 | |
token_id | 十进制数 | |
address | 字符串 | NFT 合约地址 |
block_number | 整数 | |
block_timestamp | 整数 | Unix 时间戳 |
block_hash | 字符串 | |
transaction_hash | 字符串 | |
transaction_index | 整数 | |
log_index | 整数 |
数据集名称格式
所有数据集都遵循以下格式:<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,在来源筛选器中按合约地址筛选 - 要解码事件:添加 SQL 转换,调用
_gs_log_decode(_gs_fetch_abi(<explorer-url>, <source>), topics, data) AS decoded,然后在下游使用WHERE decoded.event_signature = '<EventName>(<types>)'进行筛选。切勿在来源筛选器中使用 topic0 哈希。
“我需要多链数据”
在你的管道中使用多个数据源:
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'
解决方法:
- 检查链前缀是否正确(例如,使用
matic,而不是polygon) - 检查数据集类型是否存在(例如,使用
erc20_transfers,而不是erc20) - 运行
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— 使用这些数据集构建管道的交互式向导