[Contract] 一次搞懂 ETH Gas, GasPrice, GasLimit 之间关系与使用

 

Gas 是一个交易费的基本单位(unit),类似汽油的单位“升”,比如一次链上交易可能消耗 5 Gas 汽油,由运行的程序决定。

 

GasPrice 是一个 Gas 的单价,一般用 Gwei 来形象表示 ( 但注意实际在应用程序中都是使用 Wei ),GasPrice 由用户自己设置,其大小会决定交易被处理的速度。

这是一张来自 https://ethgasstation.info/ 的信息,展示了 GasPrice 大小与速度的关系,它是实时变动的。

[Contract] 一次搞懂 ETH Gas, GasPrice, GasLimit 之间关系与使用_第1张图片

 

GasLimit 是对 Gas 大小的限制,防止一些合约 bug 比如无限循环而消耗掉账户中的所有的 ETH,Gas 消耗超过 GasLimit 时,交易会执行失败。

GasLimit 由用户自己设置,但是必须大于等于 21000 Gas unit。

(注意实际在 web3 应用程序中,调用合约方法时传递的选项 gas 代表的是 GasLimit,这点容易引起混淆)

 

交易费用 = 程序消耗的 Gas unit * 用户设置的 GasPrice。( ETH 与 Gas 之间的价格转换关系 与 Ethereum Gas Price Chart )

 

Link:https://www.cnblogs.com/farwish/p/12528440.html

你可能感兴趣的:([Contract] 一次搞懂 ETH Gas, GasPrice, GasLimit 之间关系与使用)