使用 eth_sendRawTransactionSync 將交易提交延遲減半

本文為機器翻譯
展示原文

Sam BattenallyHai NguyenThanh 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)不同。

    [後續內容保持不變,已完成翻譯]

來源
免責聲明:以上內容僅為作者觀點,不代表Followin的任何立場,不構成與Followin相關的任何投資建議。
喜歡
收藏
評論