通过钱包转账ETH或是ERC-20Token时,我们知道这个转账需要付手续费。那么,转账的手续费是怎么算的呢?
如果转账的同时还去“刻字”,是不是需要收取更高的手续费呢?今天,大白就给大家聊聊以太坊的Gas机制。
在以太坊网络中转账,虽然最后的手续费我们支付的是ETH,但其实在以太坊内部并不直接消耗ETH,而是消耗Gas。“Gas”这个单词的英文意思是“燃料”,以太坊网络中的操作需要消耗Gas,就如同汽车行驶需要消耗燃料一样。
那么,交易的手续费是如何计算的呢?我们先看一下大白在以太坊网络中的一个转账截图:
以太坊L2网络总锁仓量为57.7亿美元:金色财经报道,L2BEAT数据显示,截至5月10日,以太坊Layer2上总锁仓量为57.7亿美元。其中锁仓量最高的为扩容方案Arbitrum,约32.7亿美元,占比56.62%。其次是dYdX,锁仓量10.1亿美元,占比17.34%。Optimism占据第三,锁仓量5.9亿美元,占比10.22%。[2022/5/10 3:02:15]
在以太坊网络中转账,手续费的计算方式如下:
以太坊未确认交易62584笔:据Etherscan.io数据显示,当前以太坊未确认交易62584笔,近期以太坊网络整体均比较拥堵,今日以太坊未确认交易笔数略有下降。[2020/3/8]
交易手续费=Gas的单价x消耗的Gas数量
在大白的这笔交易中,Gas的单价是5Gwei,也就是0.0000000005ETH。这里大白再给大家介绍一下ETH的单位,ETH的最小单位是Wei,但是谈到以太坊Gas的时候,经常用Gwei。ETH、Gwei、Wei之间的关系如下:
1ETH=10^9Gwei=10^18Wei
动态 | 预警: 以太坊硬分叉在即 3/4全节点尚未升级支持君士坦丁堡:以太坊君士坦丁堡硬分叉即将于7080000块发生,预计在北京时间17日11点40分左右,距现在还剩三天时间。不过,据PeckShield态势感知平台数据,目前以太坊全网只有23.6%的全节点 (Full Node) 完成了软件升级,而且这一比例在过去几天内增长较缓。PeckShield研究人员认为,为防止硬分叉后算力骤降,影响以太坊公链的安全,当务之急以太矿池和矿工的软件升级尤为重要。另外,全节点也应尽快完成升级任务。PeckShield将继续监测这次硬分叉,及时发出预警并跟进。[2019/1/14]
知道了Gas的单价,我们再看下大白这笔含“刻字”的转账消耗的Gas数量:24876。所以,按照上面的公式,单价乘以数量,即可得到大白花费的手续费:
动态 | V神呼吁开发人员共同建设以太坊2.0:V神推特转发“呼吁开发人员共同建设以太坊2.0”的消息,根据帖子内容,以太坊2.0包含了Beacon Chain、Casper FFG股权证明;Sharding;eWASM。[2018/9/8]
手续费=0.0000000005ETHx24876=0.00012438ETH
汽车去加油站添加燃料,燃料的价格基本是固定不变的,但是在以太坊网络中,Gas的单价是可以自己设置的。不过,需要注意的是,Gas的单价会影响这笔交易被打包的速度。也就是说,Gas的单价你给的越高,矿工为了自身利益最大化,越会优先打包你的交易。
下图是ethgasstation.info网站统计的实际操作中Gas的单价和所需要等待的交易打包时间。
在左边统计图中,我们可以看到,超过70%的以太坊网络转账给的Gas单价介于4~20Gwei之间,小于1Gwei或是大于50Gwei的交易占比很少。
在右边的统计图中,我们可以看到,如果给的Gas单价是4Gwei,打包交易需要的平均等待时间是0.6分钟;如果是20Gwei,平均等待时间是0.2分钟。
大家常用的imToken钱包,在Gas的单价设置里,提供的是5~100Gwei,钱包把最低单价设置为5Gwei,保证了交易能在合理的时间内被打包,当然,如果想插队,尽快被矿工打包,你也可以自己提高Gas的单价。
说完了Gas的单价,我们再接着说消耗的Gas数量。
在以太坊网络中,每一笔转账,无论数额大小,消耗的Gas是固定的,为21000,如果添加备注,需要消耗额外的Gas。
回到大白的那笔交易上,大白总共花费的Gas数量是24876,其中包含了21000的固定消耗数量,以及备注消耗的Gas数量3876。备注需要消耗多少数量的Gas,和输入的内容长度有关,内容越多,需要消耗的Gas数量也越多。
如果你仔细观察大白的那张转账截图,你会发现,大白花费的Gas数量24876后面有个括号,里面是41.46%。这个百分比是什么意思呢?如果你再仔细看截图,你会发现,上面还有一个GasLimit,数值是60000,而且它的41.46%正好是24876。
GasLimit,是指这笔操作消耗的Gas数量上限,这个上限值你可以自己设置。比如,大白设置的是60000,但实际操作中并没有达到这个上限,只用了41.46%。一般的钱包都会默认帮你设置这个上限值,对我们普通用户而言,普通转账时这个上限值也不用去考虑。
以太坊网络设置这个上限值,是以防万一,如果碰到恶意的智能合约,该合约执行将消耗无限的燃料,这样会导致交易方的ETH余额全部消耗。
GasLimit如果设置过低,比如设置为10000,任何一笔转账需要的Gas数量至少21000,远远超过你设置的GasLimit,就会导致转账失败。也就是说,GasLimit会影响一笔交易是否能成功。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。