Web3js

使用 Web3 預先獲取 gas 限制

  • August 12, 2019

我知道 web3 公開了一個估計 gas 限制的函式,但是在發送到合約時它準確嗎?

AFAIK 如果發送到契約,我需要的天然氣量取決於契約程式碼,所以一般情況下可以是任何東西。

有沒有辦法在發送之前可靠地計算出交易的氣體限制?

不,沒有辦法可靠地知道它。即使多次發送相同的交易也可能導致不同的gas量。(例如,請參見為什麼相同 transfer() tx 使用的氣體不同?)。其他因素也使得正確估計它變得困難/不可能,例如循環(我們可以提前知道我們將循環多少次?)。

金額只能估計。不同的工具有不同的估計——有些可能比其他的更好。

與 EOA(外部擁有的賬戶)的交易是微不足道的,因為它僅取決於您發送的數據量加上靜態交易成本 (21000)。

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