美文网首页区块链(以太坊)
关于以太坊费用(Gas)的介绍

关于以太坊费用(Gas)的介绍

作者: CrazySteven | 来源:发表于2018-04-29 15:54 被阅读5852次

    本周木有算法题,因为小伙伴又去搞之前的动规题目了,我也就跟着休一周。

    网上关于区块链及各Token的资料很多,但对于以太坊的费用解释的却不够详细,研究后做个记录吧。

    ETH佣金Gas

    ETH的信息我就不说了,我们都知道在以太坊上执行合约都需要燃烧Gas,那么Gas该怎么计算呢?

    Gas是由两个部分组成: Gas limit(限制)* Gas Price(价格)
    • Gas PriceGwei 的数量,是指用户愿意花费于每个 Gas 单位的价钱。
    • Gas Limit 是用户愿意为执行某个操作或确认交易支付的最大Gas量(最少21,000),不同时期、不同的操作默认值不同,在执行操作时可设置Gas Limit

    换算

    单位换算表
    根据上图的单位换算表可知:1 ETH = 1e9gwei (10的九次方)
    下面我用以太坊钱包映射EOS钱包所燃烧的Gas为例:

    由上图可以看到我所支付的Gas Price是41个Gwei(以太坊钱包默认的是41,可在首页调整,如下图),Gas Limit 是90558(在创建合约的时候可以调整,由于当时的网络情况较好,所以比较低,前期以太猫的出现搞的网络情况不好,所以Gas Limit比较高,有的朋友做了个映射花了近1个ETH的费用)。由此我们可以算出最终的Gas为0.003712878个ETH(1e-9ether * 90558 * 41)也就是图中的Actual Tx Cost/Fee
    Gas Price调整图

    注:由于Gas limit一般差距很大(差距数万数十万),所以手续费差别也会较大


    更新:
    昨天由于以太坊网络不太好,所以转账的时候总是提示Warning! Error encountered during contract execution [Out of gas]翻译过来就是合约执行出错,其间提示过是由于Gas(手续费)太低导致交易失败。转账金额退回原账户,然而手续费不退。提高了Gas limit(限制)以后发现,其实在一个交易中,真正消耗的Gas不一定是你输入的Gas limitGas Price,而是Gas Used By Txn * Gas Price,往往Gas limit等于Gas Used By Txn(如上面的交易),并且文档中写的也是Gas limitGas Price,如下图:

    文档中的介绍
    然而通过下面一笔交易让我有了如上的推论:

    上图中的Gas = Gas Used By Txn * Gas Price,而非Gas limit*Gas PriceGas Used By Txn并不等于Gas limitGas limit是你执行操作前输入的,但Gas Used By Txn才是真正执行合约所消耗的。

    版权声明:本文为 Crazy Steven 原创出品,欢迎转载,转载时请注明出处!

    相关文章

      网友评论

      • 小采兮:0.003712878个ETH(1e9gwei * 90558 * 41)
        这里不是1e9gwei * 90558 * 41吧
        是 90558 * 41/1e9ETH吧
        CrazySteven:嗯,:grin: 已经改了。

      本文标题:关于以太坊费用(Gas)的介绍

      本文链接:https://www.haomeiwen.com/subject/utoolftx.html