零点课堂 | 以太坊转账,手续费怎么算,如何省钱?

在以太坊网络中转账,虽然最后的手续费我们支付的是 ETH,但其实在以太坊内部并不直接消耗 ETH,而是消耗 Gas。“Gas”这个单词的英文意思是“(气体)燃料”,以太坊网络中的操作需要消耗 Gas,就如同汽车行驶需要消耗燃料一样。

那么,交易的手续费(ETH)是如何计算的呢?我们先看一下大白在以太坊网络中的一个转账截图:

在以太坊网络中转账,手续费的计算方式如下:

交易手续费(ETH)= Gas的单价 x 消耗的Gas数量

在大白的这笔交易中,Gas 的单价(Gas Price)是 5Gwei,也就是 0.0000000005ETH(小数点后面8个0)。这里大白再给大家介绍一下 ETH 的单位,ETH 的最小单位是 Wei,但是谈到以太坊 Gas 的时候,经常用 Gwei。ETH、Gwei、Wei 之间的关系如下:

1 ETH = 10^9 Gwei(9个0)= 10^18 Wei(18个0)

知道了 Gas 的单价,我们再看下大白这笔含“刻字”的转账消耗的 Gas 数量:24876。所以,按照上面的公式,单价乘以数量,即可得到大白花费的手续费:

手续费 = 0.0000000005ETH x 24876 = 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%。这个百分比是什么意思呢?如果你再仔细看截图,你会发现,上面还有一个 Gas Limit,数值是 60000,而且它的 41.46% 正好是 24876。

Gas Limit,是指这笔操作消耗的 Gas 数量上限,这个上限值你可以自己设置。比如,大白设置的是 60000,但实际操作中并没有达到这个上限,只用了 41.46%。

一般的钱包都会默认帮你设置这个上限值,对我们普通用户而言,普通转账时这个上限值也不用去考虑。以太坊网络设置这个上限值,是以防万一,如果碰到恶意的智能合约,该合约执行将消耗无限的燃料,这样会导致交易方的 ETH 余额全部消耗(恶意的智能合约有可能是程序 Bug,如合约执行陷入一个死循环)。

Gas Limit 如果设置过低,比如设置为 10000,任何一笔转账需要的 Gas 数量至少 21000,远远超过你设置的 Gas Limit,就会导致转账失败。也就是说,Gas Limit 会影响一笔交易是否能成功。

————————————————
版权声明:本文为CSDN博主「白话区块链-大白」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/mrRqAEr7ci9s2v0/article/details/117309968

本文由 零点财经 作者:tao 发表,其版权均为 零点财经 所有,文章内容系作者个人观点,不代表 零点财经 对观点赞同或支持。如需转载,请注明文章来源。
分享生成图片
41

发表回复

零点课堂 | 以太坊转账,手续费怎么算,如何省钱?

2021-05-27 10:23:58

在以太坊网络中转账,虽然最后的手续费我们支付的是 ETH,但其实在以太坊内部并不直接消耗 ETH,而是消耗 Gas。“Gas”这个单词的英文意思是“(气体)燃料”,以太坊网络中的操作需要消耗 Gas,就如同汽车行驶需要消耗燃料一样。

那么,交易的手续费(ETH)是如何计算的呢?我们先看一下大白在以太坊网络中的一个转账截图:

在以太坊网络中转账,手续费的计算方式如下:

交易手续费(ETH)= Gas的单价 x 消耗的Gas数量

在大白的这笔交易中,Gas 的单价(Gas Price)是 5Gwei,也就是 0.0000000005ETH(小数点后面8个0)。这里大白再给大家介绍一下 ETH 的单位,ETH 的最小单位是 Wei,但是谈到以太坊 Gas 的时候,经常用 Gwei。ETH、Gwei、Wei 之间的关系如下:

1 ETH = 10^9 Gwei(9个0)= 10^18 Wei(18个0)

知道了 Gas 的单价,我们再看下大白这笔含“刻字”的转账消耗的 Gas 数量:24876。所以,按照上面的公式,单价乘以数量,即可得到大白花费的手续费:

手续费 = 0.0000000005ETH x 24876 = 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%。这个百分比是什么意思呢?如果你再仔细看截图,你会发现,上面还有一个 Gas Limit,数值是 60000,而且它的 41.46% 正好是 24876。

Gas Limit,是指这笔操作消耗的 Gas 数量上限,这个上限值你可以自己设置。比如,大白设置的是 60000,但实际操作中并没有达到这个上限,只用了 41.46%。

一般的钱包都会默认帮你设置这个上限值,对我们普通用户而言,普通转账时这个上限值也不用去考虑。以太坊网络设置这个上限值,是以防万一,如果碰到恶意的智能合约,该合约执行将消耗无限的燃料,这样会导致交易方的 ETH 余额全部消耗(恶意的智能合约有可能是程序 Bug,如合约执行陷入一个死循环)。

Gas Limit 如果设置过低,比如设置为 10000,任何一笔转账需要的 Gas 数量至少 21000,远远超过你设置的 Gas Limit,就会导致转账失败。也就是说,Gas Limit 会影响一笔交易是否能成功。

————————————————
版权声明:本文为CSDN博主「白话区块链-大白」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/mrRqAEr7ci9s2v0/article/details/117309968