LOADING STUFF...

使用基础API实现zkSync链上交易信息的可视化

Using基础APIRealizationzkSync链上交易信息的可视化

电报联系方式

zkSync Era 简介

zkSync Era是基于ZK Rollup技术的一个新时代,它作为以太坊的第二层扩展解决方案,为以太坊带来了卓越的可扩展性和经济高效性。它通过使用加密有效性证明来确保zkSync上的所有交易的有效性,并大部分计算和数据存储在链下进行,从而极大提高了效率和速度。

尽管zkSync采用链下方法,但它仍然在以太坊主链上进行了验证,因此提供了与以太坊相媲美的安全性水平。

与以太坊相比,zkSync有一些显著的特点,包括地址推导和内存管理方法的创新。

此外,zkSync提供了与以太坊完全兼容的智能合约功能,使开发者能够轻松迁移到两个平台之间。同时,zkSync还引入了新的功能,如原生账户抽象化,为用户和开发者提供了更多的便利性。

通过 Data-cloud API 可视化数据

以下是Chainbase中的Data Cloud Studio界面截图。在左上角有一个下拉框,您可以选择切换到zkSync数据库,从而能够进行更深入的数据探索。

使用基础API实现zkSync链上交易信息的可视化

文章的主要数据来源是zksync.transactions表,本篇文章将从地址活跃度分析和燃料费分析两个角度来进行简单分析。

WITH address as(
SELECT
from_address AS exchange_address,
date_trunc(“day”, block_timestamp) as date,
COUNT(*) AS fa
FROM
zksync.transactions
GROUP BY
date,exchange_address
UNION ALL
SELECT
to_address AS exchange_address,
date_trunc(“day”, block_timestamp) as date,
COUNT(*) AS fa
FROM
zksync.transactions
GROUP BY
date,exchange_address)
SELECT
distinct exchange_address,
SUM(fa) AS total_transactions,
date
FROM
address
GROUP BY
date, exchange_address
ORDER BY
total_transactions desc

notes:

  1. 这段SQL片段从zksync.transactions表中提取数据,重点关注交易的发送者和接收者
  2. 它通过日期截断了交易时间戳,仅考虑交易发生的日期
  3. 通过组合发送和接收的交易,我们得到了每个地址在每个日期上的总交易总数
  4. 最后,结果按总交易量降序排序,显示最活跃的地址

使用 Livequery 进行数据分析

分析地址活跃度

通过检查地址的交易次数,我们可以了解在最近的时间段内发生了多少交易。通常,地址进行频繁交易的情况被视为更活跃的地址。

如果您想查看特定地址在过去一周内的交易频率变化,这将帮助您了解其活跃程度。

使用基础API实现zkSync链上交易信息的可视化

示例 SQL :

with data as (
SELECT
value:exchange_address as exchange_address,
value:total_transactions :: int as total_transactions,
value:date as date
FROM
(
SELECT
chainbase_utils.post(
‘/v1/dw/query’,
{ ‘query’: ‘
WITH address as(
SELECT
from_address AS exchange_address,
date_trunc(“day”, block_timestamp) as date,
COUNT(*) AS fa
FROM
zksync.transactions
GROUP BY
date,exchange_address
UNION ALL
SELECT
to_address AS exchange_address,
date_trunc(“day”, block_timestamp) as date,
COUNT(*) AS fa
FROM
zksync.transactions
GROUP BY
date,exchange_address)
SELECT
distinct exchange_address,
SUM(fa) AS total_transactions,
date
FROM
address
GROUP BY
date, exchange_address
ORDER BY
total_transactions desc
‘ }
) :: variant

AS resp
) AS subquery,
LATERAL FLATTEN(input => resp:data:data:result)
)

SELECT
exchange_address,
total_transactions,
left(date,10) as date — or DATE(date) or CAST(date AS DATE)
FROM
data
WHERE left(date,10) = ‘{{YYYY-MM-DD}}’ — filter date

Analysis燃料费 (gas fee)

按累积燃料使用量对地址排名有助于我们确定哪些地址在网络中更加活跃,或者使用了更多的资源。

燃料费排名方式可以帮助我们确定哪些交易因其复杂性或紧急性需要支付更高的费用。

使用基础API实现zkSync链上交易信息的可视化

示例SQL:

with data as (
SELECT
value:from_address as from_address,
value:gas_used :: int as gas_used,
value:gas_price :: int as gas_price,
value:date as date
FROM
(
SELECT
chainbase_utils.post(
‘/v1/dw/query’,
{ ‘query’: ‘
SELECT
from_address,
date_trunc(“day”, block_timestamp) as date,
gas_used,
gas_price
FROM
zksync.transactions
‘ }
) :: variant AS resp
) AS subquery,
LATERAL FLATTEN(input => resp:data:data:result)
)
SELECT
from_address,
sum(gas_used*gas_price/10e7) as total_gas_fee
FROM
data
GROUP BY from_address
ORDER BY total_gas_fee desc
limit 10

关于Chainbase

Chainbase是一个用于访问、组织和分析大规模链上数据的开放Web3数据基础设施。 它通过将丰富的数据集与开放计算技术结合在一个数据平台中,帮助人们更好地利用链上数据。Chainbase的最终目标是提高加密货币领域的数据自由。

开发联系:DEXDAO

 

© 版权声明

Related posts

No comments

No comments...