本文深入探讨了如何在Dune平台上构建Solana区块链仪表板,介绍了Solana的高吞吐量所产生的数据,以及如何利用Dune分析和可视化这些数据。通过示例引导读者,作者详细介绍了Solana的账户模型、交易结构以及如何有效查询和分析交易,最终帮助用户有效利用这些数据进行决策。
Solana 的区块链是一个速度和可扩展性的强大工具,处理每秒数千笔交易。
这为分析师和开发者创造了大量数据——但要利用这些数据需要正确的工具。Dune 就是这样一个领先的 onchain 数据平台,可以将原始区块链数据转化为可操作的洞察和开发者 API。
在本指南中,你将学习如何在 Dune 上构建一个全面的 Solana 仪表板,利用实时指标、历史趋势和解码的程序数据。
Solana 的高吞吐量——通常超过 3000 笔交易每秒——生成了惊人的数据量。这包括从区块生产和交易日志到特定程序交互(如代币交换或 NFT 铸造)的一切。
Dune 以最低的延迟捕获 Solana 的实时活动。原始数据流,例如区块头和交易签名,会在一分钟内更新。例如,查询 solana.transactions 可以让你监控网络活动,例如在代币启动期间用户参与的激增。
在 Dune 平台上可视化这些数据非常简单。Dune 索引了 Solana 的整个历史,从其 2020 年的创世区块到最新的插槽。这使得分析长期趋势成为可能,例如总交易数量的增长(现已超过 3000 亿)或 DeFi 活动的季节性波动。例如,这个查询追踪了 自网络创立以来的累计交易,而另一个查询识别了 最早和最新的记录区块。
与以太坊、BSC 或 Polygon 相比,Solana 的数据量因其高吞吐量而显得尤为突出。一项 并列比较 表明 Solana 在日常交易中的主导地位,尽管以太坊在费用和 DeFi 流动性方面仍然领先。
让我们探讨 Solana 的账户模型、交易结构以及如何使用 Dune 分析 Solana 交易。
Solana 的核心是其 独特的账户模型。区块链上的每一条数据都存储在账户中,包括程序逻辑、代币余额和可执行代码。以下是 Solana 账户的独特之处:
从公钥或程序派生地址 (PDAs) 的种子生成的 32 字节标识符。例如,Raydium 流动性池地址是从代币铸造和其他参数生成的 PDAs。
账户可以保存多达 10MB 的可执行字节码程序数据或 10KB 的状态信息在 PDAs 中。
账户必须持有 lamports(SOL 的分数)以支付原存储费用(租金),与其数据大小成比例。所有者字段指定控制该账户的程序或钱包。只有所有者可以修改其数据或扣除 lamports。一个可执行标志表明账户是否包含可执行代码。
作为一个实际例子,一个 SPL 代币账户存储其关联钱包余额 在 data 字段中,而它的所有者是代币程序。
交易是与 Solana 程序交互的载体。每个交易包括:
交易的关键特征是:
Dune 的 solana.transactions 表提供详细的洞察:
为深入检查,使用 solana.instruction_calls:
Dune 支持超过 150 个解码的 Solana 程序,包括 Raydium 和 Magic Eden 等主要协议。社区已构建超过 2000 个仪表板,涵盖从验证者性能到 meme 代币趋势的指标。新程序定期添加。用户可以通过 Dune 的网站 提交解码请求。
Dune 将 Solana 数据分成三层:
像 solana.blocks 和 solana.instruction_calls 这样的表提供对链上活动的未过滤访问。
预处理过的抽象,例如代币价格或美元等价物,简化了分析。
特定协议数据集(例如,dex.trades 用于 DEX 交换或 nft.trades 用于 NFT 销售)提供即插即用的指标。
对于资产跟踪,可以探索像 staking.actions 的表用于验证者活动或 prices.usd 的表用于代币价格。交易分析师可以利用 dex.trades 比较 Orca 和 Raydium 等平台之间的交易量。
Dune 通过 Geyser 插件 获取 Solana 数据,这些插件将链上更新流式传输到其索引系统。从那里,使用程序 IDLs 解码原始数据,并组织成便于查询的表。要详细了解 Solana 的数据基础设施,请查看 Helius 关于 Solana 数据工具的指南。
首先确定关注领域。你是在分析 NFT 销售、DeFi 收益还是网络性能?在这个例子中,我们将构建一个跟踪每日 DEX 交易量的仪表板。
前往 Dune 的查询编辑器,从 dex.trades 拉取交易数据:
SELECT DATE(block_time) AS date, SUM(amount_usd) AS volume
FROM solana.dex.trades
WHERE project = 'orca'
GROUP BY 1
ORDER BY date DESC;
这将获取 Orca 的每日交易量。保存该查询并将其可视化为柱状图。
创建一个新仪表板并添加你的图表。用附加小部件增强它,例如总交易计数器或按交易量排名的代币表。使用文本框注释趋势,例如由新代币发行驱动的激增。
查看这个 短视频系列 以完整了解如何在 Dune 上构建 Solana 仪表板。
如果一个程序未完全解码(例如,一个新的 NFT 市场),请使用 solana.instruction_calls 手动解析日志。然后,与解码的代币表交叉参考,以识别资产细节。
Solana 的数据量可能会减慢查询速度。
尽早按 block_slot 或 block_time 进行过滤,并对频繁访问的指标使用物化视图。
通过将交易与 prices.usd 连接,将代币金额转换为美元。这为波动性资产的交易量提供了背景信息。
Dune将 Solana 的海量数据转化为结构化、可访问的资源。通过掌握其数据集和工具,你可以发现推动决策的洞察——无论你是在优化协议还是跟踪市场趋势。
欲进一步阅读,请查看 Solana 的 Geyser 插件架构 并观看 Solana 数据 YouTube 播放列表 中的视频教程。
- 原文链接: helius.dev/blog/how-to-b...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!