Gas

交易是如何推送到區塊的?

  • July 6, 2022

假設我們在 ETH 中有一個 30kk 的氣體限制塊。25kk 的 gas 已經用完了,我的交易時間到了,它消耗了 10kk 的 gas。它會被推送到這個區塊,出現“Out of gas”異常並且消耗 5kk 的 gas,還是會被推送到第一個可以消耗全部 10kk 的 gas 的區塊?

它將保留在記憶體池中,以便可能包含在未來的區塊中。

通常,礦工被激勵以最高的 gasPrice 將盡可能多的*gas打包到區塊中。*這就像試圖用盡可能大的質量來包裝一個容器——受空間限制,但要盡可能地達到盡可能高的重量。

因此,一個可行的算法將是:

  • 按 gasPrice 排序 mempool 交易,從高到低,無論大小(gas)
  • 按 gasPrice 降序插入 txns,跳過任何不適合可用空間(gas 消耗)的交易。
  • 當達到 gasLimit 或不存在適合剩餘可用空間的記憶體池事務時停止。

希望能幫助到你。

引用自:https://ethereum.stackexchange.com/questions/131271