Solidity

究竟是什麼乙太單位返回 web3.eth.estimateGas, wei, gwei …?

  • April 13, 2022

我正在使用函式 **web3.eth.estimateGas**進行測試,但不清楚乙太單元返回的是什麼。

看起來是 gwei,但我的最終計算結果不匹配。

在我的程式碼中,返回的 EGAS 是 84753。我認為 wei 或 gwei 太少了

如何將estimateGas函式返回的uint轉換為wei?

它返回 gas限制,而不是 gas 價格。gas limit就是最多使用多少個gas,一個gas就是你的gas價格。

我想我找到了答案,但如果你去原始碼“eth.py”,函式簽名說它返回**“Wei”**:

def estimateGas(self, transaction: TxParams, block_identifier: BlockIdentifier=None) -> Wei:

這實際上是非常具有誤導性的。我對此進行了測試。它返回“239231”,但在什麼單位?您應該按如下方式解釋該數字:

gas_estimate
239231
gas_price = w3.eth.gasPrice
gas_price
5000000000000
gas_estimate_wei = gas_estimate * gas_price
gas_estimate_wei
1196155000000000000
gas_estimate_in_coin = gas_estimate_wei / (1000000000 * 1000000000)
gas_estimate_in_coin
1.196155

你應該如何解釋這些數字如下:

gas_estimate = 239231 個單位

gas_price = 5000,000,000,000 wei 每單位

或者

gas_price = 5000 wei 每單位

因此,“gas_estimate_in_coin” = 1.196155。現在,什麼“硬幣”?這取決於您正在與之互動的鏈。如果您正在與 CRONOS 進行互動,那就是 1.196155 CRO,相當於美元的 49.9 美分(CROUSDT = 20220413 上的 0.4168)!另一方面,在乙太坊主網上,1.196155 ETH改變了一切!!!

參考

(Wei, Gwei, ETH conversion)

https://web3py.readthedocs.io/en/stable/web3.eth.html?highlight=estimate_gas#web3.eth.Eth.estimate_gas

https://blog.oasis.app/gas-fees-a-small-guide/

https://www.thebalance.com/gwei-5194614

https://norman-lm-fung.medium.com/interact-with-cronos-single-usdc-lp-with-web3-py-1e14c62a0d9c

類似問題:智能合約 - 批准功能:wad

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