引介

Trin 客户端开发报告 #1

Ajian   |     |   783 次阅读

“门户网络(portal network)” 是一个新的多团队合作项目,为了重新构想以太坊的轻客户端和打造一套实用的轻客户端体验。你可以在这里了解门户网络规范更多的信息。

Trin 是一个 rust 语言的门户网络客户端实现,当前还在开发的早期阶段。现在,它是一个完整功能的 jsonrpc 轻客户端。要注意的是,它仅仅是一个代理,代理所有发送给 Infura 的 jsonrpc 调用。当然,一直依赖 Infura 是很难实现门户网络的目标的,但我们的意图是先从一个马上能够服务于终端用户的软件开始。等到网络开发完成的时候,我们会逐渐移除对 Infura 的 jsonrpc 端点依赖,把功能建立在由网络保证可得性的数据上,最终完全移除对单个第三方服务提供商的所有依赖。

Trin 支持 discv5 协议,并且使用与以太坊的对等节点发现协议同样的发现网络。Trin 客户端已经完成了与其它 discv5 客户端的握手,包括 Status 的接口客户端和 ddht(一个 python 语言的门户网络客户端原型)。

  • 需要 Scripts 来启动和连接一个 Trin 和 ddht 客户端。
  • 我们已经在编写一个 stun 客户端服务器,以帮助 NAT 穿透并简化启动流程,这样 Trin 客户端就可以被拥有它的 enr 的对等节点即刻访问到。

现在我们已经能够在客户端之间建立通信,下一步我们将致力于开发出一个覆盖层网络,在接口节点之间实际传输数据。初步来看,我们的重点是通过门户网络提供状态数据。这就意味着,Trin 客户端将能可靠、安全地在门户网络中获取状态数据库节点,而且这些状态数据可以在本地通过状态根来验证。用户因此可以用门户网络做一些比如检索账户余额和预估交易 gas 消耗量之类的操作。

这个状态网络需要 “桥” 节点来导入状态数据到门户网络中。开发已在进行中,一个 Nethermid 客户端的插件会作为一个定制化的 jsonrpc api 来提供这一数据给任何想要作为桥节点的门户网络节点。桥节点 jsonrpc api 的一个初步规范可以在此处找到,虽然这份规范还未敲定。

门户网络的规范仍在修改中。仍有一些重要的设计抉择还未敲定(例如,状态、链历史和事务的 gossip 数据,是通过一个子网络来提供呢?还是通过三个子网络来提供?)。如果你想帮助我们,可以加入 Eth R&D discord 群组的 #portal-network 频道,或者加入我们的每周会议,每周三 UTC 时间下午三点。ethportal.net 的开发也在进行,它会作为一个集中的 FAQ 博客,社区成员可以回答和提出他们对这个网络的疑问。

(完)


原文链接: https://snakecharmers.ethereum.org/trin-development-update/
作者: NICK GHEORGHITA
翻译: 阿剑


你可能还会喜欢:

如何开发出好用的轻客户端,Part-3

用于状态网络的可扩展广播方案

 
0 人喜欢