当前位置:首页 > 物联网 > 区块链
[导读] 自从比特币将世界引入加密货币之后的十年中,该行业的发展方式甚至可能是Satoshi无法想象的。以太坊区块链于2015年7月出现,借助于以太坊虚拟机(EVM)-开发和执行智能合约的环境,开启了一个

自从比特币将世界引入加密货币之后的十年中,该行业的发展方式甚至可能是Satoshi无法想象的。以太坊区块链于2015年7月出现,借助于以太坊虚拟机(EVM)-开发和执行智能合约的环境,开启了一个新的可能性世界。

我们引入ethvm:基于Apache Kafka的以太坊的第一个开放源代码块资源管理器和数据处理引擎。

ethvm的起源:evm的指南针

浏览器帮助用户验证交易和智能合约的执行情况,检查余额,并监控天然气价格。

对于开发者来说,区块浏览器为DAPPs和开源钱包检索区块链数据的新可能性,在不断增长的以太坊生态系统中激励创新,同时提供分散网络中至关重要的透明度。

当我们的团队第一次开始开发ethvm alpha时,最初的想法是创建一个易于使用的区块链浏览器,前端由Vuejs构建,后端由RethinkDB提供支持的实时更新。

作为一个开发人员,您只需要三个基本的东西来构建一个浏览器,这就是我们开始使用的:

1. 与网络同步的以太坊节点;

2. 存储信息的数据库

3. 一个显示信息的网站;

然而,这些并不是唯一需要考虑的因素。通常,当区块链增长到一定规模时,您需要处理的信息量是非常巨大。不仅完全同步节点-还是一个复杂的过程。它需要大量的时间和资源,同时对CPU和磁盘也有相当大的需求。

满足对开源以太坊块资源管理器的需求

在我们致力于解决这些挑战的过程中,我们的团队意识到,现有的Block Explorer Options Limited-大多是闭源的,这意味着只有一小部分开发人员可以为这一重要工具的创新做出贡献。

在技术进步的协作性的另一个证明中,ethvm最重要特性的灵感来自一个意想不到的来源。Boerge Svingen在Confluent博客上写了一篇名为“在纽约时报上与Apache Kafka一起出版”的文章,描述了标志性的纽约时报如何从一大堆API、服务、生产者和消费者转变为Apache Kafka支持的基于日志的架构。

传统上,数据库已被用作许多系统的真实来源。尽管有很多明显的好处,但从长远来看,数据库很难管理。

基于日志的体系结构通过使日志成为事实的来源来解决这个问题。虽然数据库通常存储某些事件的结果,但日志存储事件本身,因此日志成为系统中发生的所有事件的有序表示。

使用日志存储,您可以创建任意数量的自定义数据存储空间。这些存储成为日志-的物化视图,它们包含派生的而不是原始的内容。如果您想更改数据存储中的模式,您可以创建一个新的模式,让它从一开始就使用日志模式,直到它恢复正常,然后扔掉旧的模式。

Boerge上面解释的意义非凡

如果体系结构是基于日志的,则可以使用和处理Kafka日志,并将信息输出到其他位置 - 例如,数据库或PDF报告。

另外,作为一个额外的好处,根据主题的建模和配置方式,您可以多次重放日志。这意味着您可以随时“返回”时间并重新处理数据。

EthVM和kafka生态系统

让我们看看这些工具是如何在ethvm环境中使用的:

官方项目将Kafka Connect描述为:

Apache Kafka和其他系统之间可伸缩且可靠地传输数据的工具。它使得快速定义将大量数据集合移入和移出Kafka的连接器变得简单。Kafka Connect可以接收整个数据库,或者将所有应用服务器的指标收集到Kafka主题中,从而使数据以较低的延迟用于流处理。导出作业可以将来自Kafka主题的数据传递到辅助存储和查询系统或批处理系统中进行脱机分析。

这就是我们捕获块的方法(为了本文的目的而简化)

对于ethvm,我们创建了一个paritysource连接器,它允许我们从rpc/websocket端点读取所有必需的信息,并将数据转储到特定的主题。

通过Kafka Connect,我们有一套标准化的API来向Kafka提取数据。这种方法的优点在于,将来我们将能够创建更多基于相同原理的连接器(以支持Geth和其他客户端)。

kafka stream

一旦重要数据在Kafka主题内,第二步是解释数据以获得有意义的信息。这就是Kafka Streams的用武之地:

Kafka Streams是一个用于构建应用程序和微服务的客户端库,其中输入和输出数据存储在Kafka集群中。它结合了在客户端编写和部署标准Java和Scala应用程序的简单性以及Kafka服务器端集群技术的优势。

在ethvm上,我们创建了专门的“处理器”,利用kafka streams实用程序执行聚合、缩减、过滤和其他有用的操作。

例如,一个专用处理器分析并提取可替换的令牌传输,如ETH或ERC20。另一个专门研究不可替代的产品,如ERC721上的产品。其他处理器关注有用的块指标-,其中包含与平均天然气价格、成功或失败交易数量-和交易费用相关的信息。事实上,我们可以创建尽可能多的处理器来“钩住”具体的主题,以便接收最相关的数据。

使用Kafka Connect创建一个接收器,用于存储处理器的数据输出。目前,我们正在转向Postgres / TImescale,但我们最初是从MongoDB开始的。

塑造ethvm的未来

我们很高兴地分享生态系统的Alpha版本目前正在使用 - 使用Mongo作为主存储数据库的初始处理器设置。继续进入Beta版本,我们希望使EthVM更加稳定并实现许多功能,包括:

· 迁移到NestJS API

· 从MongoDB迁移到Postgres/TImescale

· 对Kafka处理的改进(消除错误并提高速度)

· 让TerraForm提供程序在AWS上正确部署代码

我们的首要目标是尽可能快速地同时处理以太坊链,最终在混合中添加更多链。有了一个好的Kafka集群,我们将能够同时处理多个链。此外,块浏览器只是查看区块链数据的众多方法之一!

EthVM由MyEtherWallet提供支持 - 该公司致力于开发有利于以太坊生态系统整体的开源项目。我们共同构想了一个全球金融未来,加密将在为已经建立的市场带来新机遇方面发挥重要作用。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭