主页 > token.im钱包下载 > 谷歌宣布其 BigQuery 服务已支持以太坊区块链数据分析

谷歌宣布其 BigQuery 服务已支持以太坊区块链数据分析

token.im钱包下载 2023-04-11 07:07:34

ERC20代币地址与以太坊地址_以太坊代币是什么意思_以太坊的代币区块查询

作者| 由 Allen Day 和 Evgeny Medvedev 编译 | 刘志勇谷歌最近发布了以太坊区块链的分析工具。 本文详细介绍了该工具的各个方面。

以太坊和其他加密货币吸引了技术专家、金融家和经济学家的想象力。 数字货币只是底层区块链技术的一种应用。 今年早些时候,我们在 Google BigQuery 中公开了比特币数据集 () 以供分析。 今天我们将提供以太坊数据集。

与其前身比特币一样,您可能会将以太坊区块链视为不可变的分布式账本。 然而,创建者 Vitalik Buterin 通过包含一个虚拟机扩展了它的功能集,该虚拟机可以执行作为智能合约存储在区块链上的任意代码。

在系统架构上,以太坊与比特币类似,主要用于记录不可篡改的交易。 两者本质上都是 OLTP 数据库,提供很少的 OLAP(分析)功能。 然而,以太坊数据集在以下方面与比特币数据集有很大不同:

译注:OLTP,Online transaction processing的缩写,意思是联机事务处理。 它是指通过信息系统、计算机网络和数据库,以在线交易的形式对一般实时作业数据进行处理,不同于早期传统数据库系统的大规模批量操作。 OLTP 通常用于自动化的数据处理任务,例如订单录入、财务业务……以及其他重复性的日常交易活动。 与之相对的是联机分析处理(OLAP),属于决策分析层面。

现在,可以通过 BigQuery 探索以太坊区块链数据。 所有历史数据都在 ethereum_blockchain 数据集中,每天更新。 GitHub 上的 Ethereum ETL 项目包含了从以太坊区块链中提取数据并将其加载到 BigQuery 的所有代码,我们欢迎更多的贡献者和更多的区块链加入!

译注:ethereum_blockchain数据集:

以太坊ETL的GitHub项目地址:为什么在谷歌云上提供以太坊区块链数据?

虽然以太坊区块链对等软件具有用于常见随机访问功能(例如检查交易状态、查找钱包交易关联和检查钱包余额)的 API,但不存在用于轻松访问链上存储的所有数据的 API 端点。

以太坊的代币区块查询_以太坊代币是什么意思_ERC20代币地址与以太坊地址

也许更重要的是,也没有用于聚合查看区块链数据的 API 端点。 这是一个示例图表,显示了按天计算的总转账成本和平均交易成本:

ERC20代币地址与以太坊地址_以太坊的代币区块查询_以太坊代币是什么意思

像这样的可视化(连同底层数据库查询)对于指定业务决策很有用,范围从优先改进以太坊架构本身(系统是否接近容量并需要升级?)到资产负债表调整(钱包可以多快速度重新平衡? ).

BigQuery 具有强大的 OLAP 能力来支持这种类型的分析,并且通常不需要额外的 API 实现。

因此,我们在谷歌云上搭建了一个软件系统:

将以太坊区块链与在 Google Cloud 中运行 Parity() 的计算机同步。

数据每天从以太坊区块链分类账中提取,包括智能合约交易的结果,例如代币转账。

对按日期分区的数据进行反规范化并将其存储到 BigQuery 中,以便轻松且经济高效地进行探索。

以太坊的代币区块查询_ERC20代币地址与以太坊地址_以太坊代币是什么意思

以太坊区块链数据集也可在 Kaggle 上获得:。 您可以使用 BigQuery Python 客户端查询 Kernel() 中的实时数据,这是 Kaggle 的免费浏览器内编码环境。 分叉此示例的 kernel() 以试验您自己的 Python 代码副本。

有趣的查询和分析

下面,我们基于以太坊数据集展示了一些有趣的查询和可视化。 我们的分析集中在三个热门话题上:

分析一:热门智能合约事件日志

到目前为止,以太坊区块链的主要用例是数字代币的交换。 下面我们演示如何查询数据集的交易和合约表以找到最受欢迎的智能合约(以交易计数衡量):

根据交易数量,以太坊上最受欢迎的 10 种收藏品(ERC-721 合约)是什么? 访问以查看我的查询视图。

以太坊的代币区块查询_ERC20代币地址与以太坊地址_以太坊代币是什么意思

最受欢迎的 ERC-721 智能合约(按交易数量)是 0x06012c8cf97bead5deae237070f9587f8e7a266d(),CryptoKitties() 游戏的主要智能合约。 我们将在本文后面介绍游戏的一些属性。

以太坊代币是什么意思_以太坊的代币区块查询_ERC20代币地址与以太坊地址

仔细查看这个合约的源代码,它向区块链记录了一个CryptoKitty birth event()。 您可以在日志表中查询此事件的实例:。

我们可以将 CryptoKitty 谱系可视化如下图所示,这些账户至少有 10 个 CryptoKitties。 颜色表示所有者,大小表示每个 CryptoKitty 的 PageRank(繁殖适应性):

以太坊代币是什么意思_以太坊的代币区块查询_ERC20代币地址与以太坊地址

分析二:交易量与交易网络

以太坊区块链上分布着多种类型的代币,它们的分布模式因类型和时间而异。 通过查看每个币的交易活动,我们可以衡量哪些币总体上更受欢迎,哪些币在给定时间范围内更受欢迎。

以下是衡量代币聚合统计数据的查询:按交易数量计算,最流行的 10 种以太坊代币(ERC20 合约)是什么? 找出。

在位置 #5,最受欢迎的代币之一是 OmiseGO ($OMG) ( ),地址为 0xd26114cd6ee289accf82350c8d8487fedb8a0c07 ( )。

作为后续访问,这里有一个查询,根据时间窗口测量代币统计(交易计数),特别是 $OMG 代币转移的每日计数,以及从 Google Sheet() 到 2018 年 8 月 2 日的时间序列的 Data Studio 可视化数据。

以太坊代币是什么意思_ERC20代币地址与以太坊地址_以太坊的代币区块查询

以太坊代币是什么意思_ERC20代币地址与以太坊地址_以太坊的代币区块查询

请注意,在 2017 年 9 月 13 日,$OMG 接收者的数量显着增加,而发送者的数量则没有。 这相当于OmiseGO Token Airdrop()的开始。

由于数据由一组高度粒度的钱包地址之间的传输组成,我们还可以使用有向图数据结构来推断数据。

下面是相同数据子集的可视化:这是至少有两个贸易伙伴的前 50,000 笔交易。 在此图中,节点(点)代表以太坊区块链上的钱包地址,边(线)代表一对地址之间代币的聚合转移。 边长大致与转移的代币数量成正比,这意味着在它们之间传递更多聚合代币的钱包在图中靠得更近。 另一组经常相互转换的地址(不包括其他组的成员)将聚集在一起,为了清楚起见,我们对这些组进行了颜色编码。 该图是用 Gephi 绘制的,节点使用模块化算法计算的分组进行颜色编码。

以太坊的代币区块查询_以太坊代币是什么意思_ERC20代币地址与以太坊地址

分析三:智能合约功能分析

前面我们提到,以太坊区块链上的很多智能合约都是ERC-20合约。 这是什么意思? ERC-20 只是定义了一个智能合约可以实现的软件接口。 具体来说,它由一些与代币转账相关的函数组成,在ERC20代币标准规范文档中有详细描述:。

智能合约还可以实现许多其他功能。 幸运的是,许多智能合约的源代码是免费提供的(开源)。 即使对于我们没有源代码的合约,我们也可以使用它从函数名称中获得一些关于其他合约的知识ERC20代币地址与以太坊地址,因为常用的函数名称将共享一个共同的签名。

ERC20代币地址与以太坊地址_以太坊的代币区块查询_以太坊代币是什么意思

回到前面分析3中讨论的CyptoKitties,玩法的主要元素是畜牧业,一次繁殖事件中的基因混合在CryptoKitties GeneScience智能合约中实现:0xf97e0a5b616dffc913e72455fde9ea8bbe946a2b()。 假设我们想找到与 CryptoKitties GeneScience 合约实现类似游戏机制的其他游戏? 我们可以使用此 query() 中 Jaccard 相似系数的 JavaScript UDF 实现来衡量这一点。

译注:杰卡德相似系数(Jaccard similarity coefficient)ERC20代币地址与以太坊地址,用来比较有限样本集之间的相似性和差异性。 Jaccard系数值越大,样本相似度越高。

这些结果表明,几个早期版本的 GeneScience 合约 ( ) 与地址为 0xf97e0a5b616dffc913e72455fde9ea8bbe946a2b 的当前版本的智能合约最相似。 但也有一些其他的(例如 0xb64e6bef349a0d3e8571ac80b5ec522b417faeb6() 处的 CryptoPuppy),它们似乎是基于方法签名测量的高度相似的合约。

原文链接:

BigQuery 中的以太坊:用于智能合约分析的公共数据集

今日推荐

点击下方图片阅读

ERC20代币地址与以太坊地址_以太坊的代币区块查询_以太坊代币是什么意思

区块链在金融风险数据共享中的应用实践

容器正在吞噬你周围的软件世界。 快来跟着Kubernetes项目维护者张雷学习容器之王Kubernetes吧。

《深入浅析Kubernetes》专栏,将帮助您深入浅出地了解容器和Kubernetes背后的设计思路和逻辑,解决实际工作中遇到的问题。