织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 竞争币 > 以太坊

如何设计好用的以太坊轻客户端?

时间:2021-01-26 10:57来源:未知 作者:admin 点击:
原文标题:《科普 | 如何开发出好用的轻量级客户端,Part-1》 撰文:Piper Merriam 翻译 校对:闵敏 阿剑 大约 5 年前,我们开始构建 Trinity —— 以太坊网络上的新型 「轻量级客户端」。

原文标题:《科普 | 如何开发出好用的轻量级客户端,Part-1》
撰文:Piper Merriam
翻译 & 校对:闵敏 & 阿剑

大约 5 年前,我们开始构建 Trinity —— 以太坊网络上的新型 「轻量级客户端」。那时候 Geth 刚刚发布了第一版 LES 协议,而我们曾心怀远大的梦想。

远大的梦想往往被现实所击倒。这些年来,我们得到了一些教训:

  • EVM 计算从根本上来说是 「繁重的」。

  • LES 如同茫茫沙漠,客户端就是沙漠中渴求数据的旅人。

  • 同步并维护状态的难度过高。

  • 区块链上的历史记录在绝大多数情况下是无用的,却是必不可少的。

  • 核心以太坊协议在本质上对 「轻量级」 不友好。

  • Python 太慢了。

我们的目标是远大的,方法是有缺陷的。现在是该从头再来的时候了。

访问以太坊协议

如果你想要与以太坊协议交互,摆在你面前的是两个选择:

  1. 自己运行客户端。
  2. 使用 Infura 等中心化提供商的服务。

上述两个选择可以满足大多数用例的要求,但是它们位于两个极端。以太坊客户端需要消耗大量磁盘空间,花费数小时乃至数天时间进行同步,而且对 CPU 和内存的占用通常很大。中心化提供商是一种简单可靠的方案,但是要以牺牲隐私性、安全性和去中心化原则为代价。

为什么我们不能有介于二者之间的第三种选择?互联网已经证明过很多次了,在困难模式和简单模式之间,人们往往会选择后者。

  • 自己托管邮件(难) vs. Gmail (易)

  • 购买 DVD 或 CD (难) vs. 盗版(易)

  • 盗版(难) vs. 流媒体(易)

  • 自己运行以太坊节点(难) vs. Infura (易)

我想过采用隐私保护型解决方案。然而,我的所有交易都是通过 MyCrypto 或 Metamask 完成的。这两款钱包都来自中心化提供商。它们都支持用户使用自己的节点,但是就现有的客户端来说,我认为这么做成本太高。如果我们想与这些中心化解决方案争夺市场份额,我们需要为用户提供更好的选择。

我们对客户端的要求是:

  • 能够在资源有限的设备上运行(1 CPU / 1GB RAM / 磁盘占用量 <1GB)

  • 公开标准 「钱包」 应用所需的 API

  • 不需要同步

从用户的角度来说,我希望让客户端时刻保持运行,而不会影响我的设备的性能。我希望在离线一段时间后,再上线时无需等待客户端同步。

这就是我心中的 「圣杯」,是我舍命也要攀登的高峰。

钱包

我们这里讲的是如何为钱包构建一个完美的客户端。钱包无处不在,而且主要由中心化提供商支持。总的来说,钱包要满足以下需求: (责任编辑:admin)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容