当前位置:主页 > 列表页 > 正文

引介 | Trin 客户端开发报告 #1

2021-06-27 19:19 | 出处: EthFans


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


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


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



现在我们已经能够在客户端之间建立通信,下一步我们将致力于开发出一个覆盖层网络,在接口节点之间实际传输数据。初步来看,我们的重点是通过门户网络提供状态数据。这就意味着,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

翻译: 阿剑
作者郑重申明:截至发文时,作者与文中提及项目存在利益关系,特此告知。利益关系包括但不限于下述情况:本人为项目团队成员、本人是项目团队成员的直系亲属或配偶、参与投资该项目、持有该项目发行的股份或通证、参与做空或做多该项目、收取回报进行有偿撰文等。
相关文章