科普 | 第5课 以太坊转账经常提到的GAS是什么鬼?

  • 时间:
  • 浏览:28

  很多新手不了解以太坊的矿工费是如何计算的,GAS到底和ETH是什么关系,这里做个简单说明。

  其实关于以太坊GAS的说明有不少,矿工费如何计算也都有写到重点,但是依然有很多新手看了后表示是懵逼的——我懂你,你之所以不明白,主要是对以太坊其他方面的定义了解的不是很全面,很多教程都是直切主题,但忽略了一些过程。今天让你三步读懂GAS和矿工费的关系。

  首先,我们必须先了解一下以太坊的货币单位,就像人民币有元、角、分的概念一样,以太坊也是有这个概念的,如果把这个概念清楚了,对于矿工费的理解也就容易许多,见下表:

  可以看到,我们常见的ETH(ether)只是以太币的最大货币单位,它的最小单位是wei。此外Gwei也是最常用的单位,1 ETH=1,000,000,000,000 Gwei。

  其次,GAS是以太坊中另外一种计量单位,如果说ether或Gwei体现的是价格,那么GAS则体现的是数量,以太坊的每一步操作都有对应的GAS数量的要求,且相对稳定,如下图:

  最后,以太坊矿工费的计算方式为:Cost = GasPrice*Gas

  Gas是每次交易所需要消耗的数量,GasPrice则是以太坊货币单位计价。如果按上面两个图表对应的表头及单位,每一次交易所需要的旷工费约为 40Gwei*500=20,000Gwei,也就是0.00002ETH。这个公式的意思是,你需要以单价40Gwei/Gas去购买500个Gas,才可能执行这个操作。

  在实际交易中,作为交易的转账者,你可以调整的是GasPrice这个单位,目的是购买Gas, 因为每个区块提供的Gas是有上限的,GasPrice价格过低你就可能买不到Gas从而错过该区块的打包确认。对应着矿工角度来说,他们也一定会优先选择那些价格高的交易,价格低的可能要等很久或者不会被打包。

  这样解释不知道大家是否更容易理解。实际上在以太坊运行程序都是需要付费的, 如果你想运行程序(比如交易),就要先用以太币购买Gas。这样做的好处就是鼓励更加高效的合约代码,同时避免系统遭受攻击,毕竟攻击者要为他们消耗的资源付出一定的代价……

  喜欢的话,请关注我们的头条号;令牌屋提供好玩、有趣的区块链电台栏目和科普内容。