区块链(以太坊)

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

2018-04-29  本文已影响5852人  CrazySteven

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

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

ETH佣金Gas

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

Gas是由两个部分组成: Gas limit(限制)* Gas Price(价格)

换算

单位换算表
根据上图的单位换算表可知: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 原创出品,欢迎转载,转载时请注明出处!

上一篇 下一篇

猜你喜欢

热点阅读