Private-Blockchain
為什麼 gasLimit 會被解讀為 4,700,036 而不是 4,712,388?
我將基於 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。這就是不一致的原因。