编者注:「以太坊客户端」一般指的是一套软件,可用于帮助用户在计算机上下载以太坊区块链(即以太坊历史上的交易记录)并参与到以太坊网络中,与网络中的其它计算机达成共识、保持同步(即对最新的交易记录达成一致)。到目前为止,以太坊 1.0 有多种客户端软件,包括 Geth、Parity·Ethereum、cpp-ethereum 等。

Geth 客户端的 1.9.0 版本开发了很长时间,可喜的是,长时间的开发换来的是以太坊客户端性能的全面提升。Geth 1.9.0 版本发布后,受到广泛的好评。下面这条长推特即是 Lefteris Karapetsas 给 Geth 1.9.0 写的凝练版更新说明。

原文标题:《通告 | Geth 1.9.0 发布!性能全面提升》
作者:Lefteris Karapetsas
翻译 & 校对:曾汨 & 阿剑

1/X: #ethereum geth v1.9.0 刚刚发布了。该版本包含了大量的更新。但是发布帖(https://blog.ethereum.org/2019/07/10/geth-v1-9-0/)太长了,可能很多人都直接跳过不读了。那么我在这里写一个总结性的帖子给你们。

2/X:性能得到全面提高。LevelDB 的 GO 语言实现,账户 / 存储树(trie)的访问模式,EVM 代码的分析和优化、数据库模式的分析和优化,这些是全方位的性能提升。

以太坊发布 Geth 1.9.0 ,性能全面提升

3/X:快速同步(Fast Sync)基准测试

在 4 小时 8 分钟内完成同步(比 v1.8.27 快 7 小时 12 分钟)

所占硬盘大小:131GB (比 v1.8.27 少 45GB)

以太坊发布 Geth 1.9.0 ,性能全面提升

4/X:完全同步(Full Sync)基准

在 6 天 8 小时 7 分钟内完成同步(与 v1.8.27 类似,但仅使用了 1/3 的内存,且消除了虚假内存峰值(spurious memory peaks))

所占硬盘大小:303GB (比 v1.8.27 少 38GB)

以太坊发布 Geth 1.9.0 ,性能全面提升

5/X:Archive 节点同步基准

在 13 天 19 小时内完成同步(比 v1.8.27 快大约 59 天!!!)

所占硬盘大小:2.32TB (比 v1.8.27 少 0.25TB)

以太坊发布 Geth 1.9.0 ,性能全面提升

6/X:Freezer (冷藏室)

数据库现在分为两部分:

  1. 最近的区块和状态保存在 LevelDB 的快速键值存储中。适合 SSD。
  2. 3 个轮次(epoch)以前的区块和收据被移动到定制的冷藏室数据库中,不会被频繁访问。适合 HDD。

7/X:GraphQL 引入了一种全新的基于 GraphQL 的节点查询接口。使用 GraphQL,用户可以只查询他们需要的数据,同时仍保持计算和数据传输的开销最小化。

以太坊发布 Geth 1.9.0 ,性能全面提升

8/X:额外的硬件钱包支持

  • 支持 @Ledger Nano X
  • 支持更新的 @Trezor One

9/X:Geth 现在支持 status keycard @ethstatus keycard 自带加密系统,且能被当做借记卡或其他 POS 系统使用。

10/X:Clef Clef 是一个独立的交易签名器。Clef 背后的思想是将帐户管理与其他客户端功能分开。它通过 IPC 或 HTTP 暴露了一个轻巧的 API,因此可被许多其它项目用作签名工具。

11/X:你可以在 1.9.0 发布帖上了解到很多关于 Clef 的信息,但我认为 Clef 中最神奇的功能,就是它使用加密键值存储和 Javascript
规则引擎实现了无口令签名甚至自动确认!!

12/X:Geth v.1.9.0 附带一个超轻型客户端:hackmd.io/@GMFZzCl1SH6s2 …。这是一条介于可信服务器和轻服务器之间的中间道路,它使用了来自一组可信服务者的多数签名来替代 PoW 验证。

13/X:轻客户端的硬编码检查点如今被链上预言机所取代。轻客户端现在可以向轻服务器请求检查点,轻客户端会负责询问链上预言机获得最新检查点。

14/X:Geth 对其所有子系统和事件的监控都得到了重塑和升级。你可以手动配置自己的节点要采用哪些指标、如何暴露出这些数据以及它们如何呈现。阅读文章了解更多细节。

以太坊发布 Geth 1.9.0 ,性能全面提升

15/X:从 geth v.1.9.0 开始,Puppeth 私有网络部署工具将整合一个网络浏览器!它本质上就是 @poanetwork 做的 BlockScout 资源管理器。

16/X:这篇文章(指 1.9.0 发布帖)还提到,他们正在开发一个全新版本的以太坊节点发现协议,使其能适应当前我们拥有多个网络、分叉、非存档节点以及其它事物的状态。https://github.com/ethereum/devp2p/blob/master/discv5/discv5.md

17/X:在新的发现协议准备就绪并推出之前,geth v1.9.0 向旧的发现协议提供了两个 ENR 扩展:1. 可以同时支持两种版本的 IP 协议
2. 节点现在可以公布其链的配置,以增加可发现性。

18/X:自从 Frontier 推出以来,首次推出了一组新的以太坊网络启动节点!

以太坊发布 Geth 1.9.0 ,性能全面提升

19/X:你可以在文章或更改日志中读到更多细微的更改。对我而言,这个版本不亚于是 #ethereum 生态系统和路线图的一个新里程碑。

20/X:将荣誉献给 @peter_szilagyi @mhswende @nicksdjohnson @realLedgerwatch@zsfelfoldi @gballet Felix Lange,Matthew Hallpern,Guillaume Ballet,Andrea Franz,Gary Rong,Maxim Krasilnikov,Ayrat Badykov,Frank Szendzielarz,Andrei
Maiboroda,Antoine Toulme,Age Manning,Tomasz Stańczak

21/X:…以及其他贡献者!顺带说一下,如果以上任何一个人有 Twitter 账号,请关注他们。

来源链接:mp.weixin.qq.com