Go-Ethereum

Geth 的命令行選項解釋:targetgaslimit?

  • September 29, 2018

在私有區塊鏈的背景下,我一直試圖弄清楚該targetgaslimit參數對 Geth 的作用。

我看過以下解釋,但它對我沒有幫助:“目標氣體限制為要開采的塊設置了人工目標氣體下限(預設值:4712388)”。

有人可以提供另一種解釋嗎?網上找了好久沒找到好的?

免責聲明:我假設了解什麼是氣體。

氣體限制是在乙太坊交易期間可以花費的最大氣體量。這個數字不是固定的——在乙太坊早期,gas 限制比現在低得多。

乙太坊節點會根據目前區塊的使用情況進行計算,以在每次交易後調整氣體限制。根據程式碼中的文件:https ://github.com/ethereum/go-ethereum/blob/e29c2e43640445e743bb69ab48d6c862d3e964d9/core/block_validator.go#L108

   strategy: gasLimit of block-to-mine is set based on parent's
   gasUsed value.  if parentGasUsed > parentGasLimit * (2/3) then we
   increase it, otherwise lower it (or leave it unchanged if it's right
   at that usage) the amount increased/decreased depends on how far away
   from parentGasLimit * (2/3) parentGasUsed is.

雖然這在技術上回答了你的問題,但它仍然留下了為什麼的問題:gas 限制是為了保護網路免受猖獗的腳本的影響。它這樣做的方式是查看目前使用情況並呼叫將其用作基線。

在私有區塊鏈中,您不會面臨太多風險(大概您知道網路中的所有參與者),並且您可能不一定有基線。此外,您可能希望獲得比根據目前使用計算獲得的值更大的氣體限制。此標誌允許您這樣做。

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