zoukankan      html  css  js  c++  java
  • 以太坊中的gas、gas price、gas limit到底是什么

    什么是gas

    Gas 是存在于以太坊虚拟机内部,作为计算工作量的计数。它一方面作为对矿工打包区块的奖励,另一方面,为恶意交易抬高门槛,维护以太坊网络正常运作。 Gas 是以太坊中的燃料,它保证了以太坊生态的运作。正如汽油对于汽车的作用, Gas 不可或缺。以太坊协议规定交易或合约调用的每个运算步骤都需要收费。使用智能合约的用户必须支付一定费用去执行该合约,而gas就像手续费,使用智能合约必须设置消耗gas的最大值,当gas消耗完或者合约执行完,就会停止执行该合约。gas使用ETH来支付。

     注意:无论您执行的命令是成功还是失败,都需要支付计算费用,即使失败,节点也验证并执行了您的交易(计算),因此必须和成功执行支付一样的费用

     什么是gas limit

    Gas Limit:是用户愿意为执行某个操作或确认交易支付的最大 Gas 量。

    如果 Gas Limit 设置过低,无法保证计算完整运行,系统将会提示“ out of gas ”,这笔交易依然被打包到区块中,交易金额被退回,但费用依旧会被收取,交易费用作为奖励发放给打包这个区块的矿工。交易会失败。
    如果该次操作所使用的gas数量小于或等于您所设置的gas limit,则会被执行,在执行中实际消耗的gas值总和叫gas used,没有使用完的gas会退还到原账号

    正如交易有 Gas Limit ,区块也有 Gas Limit ,即单个区块允许的最多gas总量。每个区块在打包的时候都会确定当前区块的 Gas Limit 总量,以此来确定单个区块所能打包的交易数量,所以矿工在打包每笔交易的时候都会判断当前的 Gas 量够不够打包当前交易。如果您尝试将一个会使用超过当前区块gas limit的交易打包,则会被网络拒绝,会反馈“below gas limit”

    例如现在有 3 笔交易, A 交易 Gas Limit 为 10 , B 交易为 20 , C 交易为 30 ,如果区块 Gas Limit 为 30 ,那么 A 交易和 B 交易将被打包。由于矿工有权力选择哪些交易被打包,因此另一名矿工选择将 C 交易打包进这个区块。但是如果将 ABC 交易同时打包, Gas Limit 达到 60 ,超过区块 Gas Limit ,这个区块会被网络拒绝。

     什么是gas price

    Gas Price:是用户愿意为每个 Gas 支付的价格,一般单位为 Gwei 。1 ETH = 1,000,000,000 Gwei

    矿工总是希望获得更多的挖矿奖励,在打包交易的同时,交易费用越高,越容易被打包。

    交易费用 = GasPrice * GasUsed

    因此,Gas Price 越高,矿工将会优先打包,交易会被更快确定;如果 Gas Price 设置过低,矿工的报酬降低,交易的确认时间将会延长。如果您想加快转账,您可以把gas price设置得更高,这样您就可以插队靠前。

    总结

    1. gas limit由我们自己设定,相当于我们预计汽车需要加多少升汽油;即执行某个操作或合约的某一条的费用。
    2. gas price由我们自己设定,相当于每升汽油的价格;如果想要加以快点被打包,那么可以把gas price设的高一点,就像佣金高一点
    3. 一次交易或调用实际需要消耗的gas(gas used)由该次交易或调用过程中执行的命令决定;
    4. gas used 必须小于或等于gas limit;
    5. 实际支付的费用 = gas used * gas price。
    6. 交易超过gas limit 交易会回滚,但是交易消耗的gas依然会被支付。区块的所有交易的gas之和大于区块的gas limit 则区块上传就会失败报错,拒绝上传。

     

  • 相关阅读:
    hdoj 2803 The MAX【简单规律题】
    hdoj 2579 Dating with girls(2)【三重数组标记去重】
    hdoj 1495 非常可乐【bfs隐式图】
    poj 1149 PIGS【最大流经典建图】
    poj 3281 Dining【拆点网络流】
    hdoj 3572 Task Schedule【建立超级源点超级汇点】
    hdoj 1532 Drainage Ditches【最大流模板题】
    poj 1459 Power Network【建立超级源点,超级汇点】
    hdoj 3861 The King’s Problem【强连通缩点建图&&最小路径覆盖】
    hdoj 1012 u Calculate e
  • 原文地址:https://www.cnblogs.com/forforever/p/12670766.html
Copyright © 2011-2022 走看看