Private-Blockchain

為什麼 gasLimit 會被解讀為 4,700,036 而不是 4,712,388?

  • May 10, 2018

我將基於 Parity 的私有區塊鏈的 Block Gas Limit 設置為 4,712,388。那是“gasLimit”參數。但是當我在這個網路上執行的第一個區塊上的區塊瀏覽器上查看它時,它讀取它為 4,700,036。這是 1.0026281/ 的因數

當我將其設置為 44,712,388 時,它的讀數為 44,364,406。這是 1.0078437 的因數。所以並不一致。

不過肯定有什麼原因。對?

顯然,Parity 將塊氣體限制值四捨五入乘以一個常數(後續問題將是“為什麼?”。我還找不到答案。無論如何它可能應該是一個單獨的問題)。在其原始碼中查看此註釋。目前,常數(即見下一行 - PARITY_GAS_LIMIT_DETERMINANT)是 37。問題中的兩個實際值都是 37 的倍數。

4,700,036 = 37 * 127,028
44,364,406 = 37 * 1,199,038

自然會注意到舍入結果可能更接近原始值44,712,388。事實證明,舍入還考慮了另一個因素,即由前面的塊確定的所需範圍。見函式​​ round_block_gas_limit。這就是不一致的原因。

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