由 Sam Battenally、Hai Nguyen 和 Thanh Nguyen 撰写。特别感谢 Lin Oshitani 和 Danilo R 提供有用的反馈和意见。
摘要
传统的异步交易提交和确认方式已不再适用于为低延迟优化的区块链,如 RISE、MegaETH 和 Flashblocks 链(Unichain、Base)。我们引入了一个简单的 eth_sendRawTransactionSync RPC 来解决传统以太坊交易工作流程中的关键局限性。
通过使 Web3 API 行为更接近熟悉的 Web2 请求-响应模式,eth_sendRawTransactionSync 简化了开发者体验,降低了延迟,并提高了用户响应性。随着区块链架构向更低的区块时间和更快的响应性演进,这个简单的 RPC 尤其具有重大影响,它弥合了去中心化和传统应用开发范式之间的差距。
< button><>函数自身, tx: 字节<> RPC结果< ;交易收据> {span>常量超时持续时间: 持续时间 = 持续时间::从秒(2);常量 轮询间隔: 持续时间 = 持续时间::从毫秒(1);让 哈希 = 自身.内部.发送原始交易(tx).// 持续轮询分片资助的待处理区块的收据让 开始 = 即时::现在();当 开始.已过去() < 超; 超时持续时间 {<果如果让 某些(收据) = 自身.待处理区块.获取收哈希) {返>回确定(收>收据);};}tokio::时间::睡眠(轮询间隔).await;}错误(错误对象::拥有(-<002("交易已添加到内存池,但未在{超时持续时间:?}理。"些哈希),))}列表。eth�_送易code码的示例片段。
超时持持间续2秒和轮询间隔=1�毫code<
收益<>< li>延迟 。通过移除不必要的两次RPC调用范式,网络延迟减半。交易收据几乎可以在交易发送后立即可用。
- 开发者体验>验。新的RPC简化了整个过程,消除了与异步编程和手动�用轮询相关的复杂性。开发者可以编写更简洁和�更接的类似于进行标准同步API调用。
- 用户体验。RISE中同步方法提供的即时交易确认直接转化为与网络上去中心化应用交互的用户更更流畅、更响应式的体验><用户体验。
于节点运营者来实现R发交eth_获取交易收据>方方法,可以显著减少指向节点的RPC调求用。2h a href https://https ethres.ear.ch#p-54726-a-quick-comparison-8" rel="nofollow">>快速比较<比>< div>异步方法同步方法延迟高,至少两次往返低至网络传播时间用户体验响应慢,界面卡顿更响应迅速,近乎即时的时反�><发验td更复�杂(异步步逻辑,重复轮询)<简单(同步调用,直接收据)节点性能负载较高,可能使节点承压潜在的较低负载网络效率每笔交易多次RPC调用增加网络流量和延�><�每每笔交易单次RPC调用减少网络负载目标区块链区块时间长,执行慢,共识快区块时间短,执行快,共识快我>们们使用几行代码实现了总总时间。我们将客户端配置在不同位置,与测试节点的往返时间(RTT)不同。
[后续内容保持不变,已完成翻译]



