区块链 > 服务 > 正文

ETH转账收Gas费用,竟然不是为了钱?

区块链服务板块文章ETH转账收Gas费用,竟然不是为了钱?,请您欣赏。樱花区块链门户资讯网荟萃众多优秀文章精选,如果想要浏览更多相关区块链服务,可以关注本文结尾推荐的优秀文章内容。本站区块链资讯虽然不乏优秀之作,但仅为大家参考使用,希望能对关注区块链的人有所帮助。

具备图灵完备性的语言,可以使用循环语句,可以一遍又一遍地执行一组指令。这个特性可能会造成网络堵塞。

ETH如何解决这个问题?

用Gas。简单地说,你必须为你的程序执行的每一条指令——付费。

昨天我们说到,Solidity语言编写的代码,会被编译为字节码。这组字节码,就是一组EVM可执行的指令。

而执行每条指令,都有相关的Gas成本。参考下表:

 

 

这张表中,EVM可以执行的每条指令,在Gas Used这一列,都有相应的Gas价格。

这样,如果你想在ETH网络里,跑一百万次循环语句堵塞网络,你需要花费的Gas,会是个天文数字哦!你会放弃的!

你可能会问,这个Gas,是我们转账eth时设定的Gas吗?

每次ETH转账,Gas,Gas Price,Gas Limit,感觉一脸懵逼,傻傻分不清楚啊!

Gas (燃料)

如前表,Gas的多少,对应于交易中EVM实际执行的运算复杂度。

运算越简单所需Gas就越低。反之,如果转账过程中,需要用到其它复杂指令,Gas就会高。

比如 BALANCE指令,Gas高达400.

Gas Price(燃料价格)

是指你愿意为每个Gas,花费多少ETH。Gas Price由交易者设定。一般用Gwei作单位。

1 Gwei = 0.000000001 Eth。 Gas Price越高,付出的Eth也就越多。

当你设定Gas price = 30 Gwei,表示,愿意为每个Gas付出:0.00000003 Eth。

Gas 由你主动出价。如果价格太低,矿工们就会拒绝帮你打包,帮你转发交易。

但是如果设置太高,就会增加交易成本。

转账手续费(Tx Fee)

它等于——实际花费燃料(Gas Used)x 单价(Gas Price)

比如,一次交易运算量,需要50Gas,而Gas Price设为3 Gwei。整个交易的手续费= 50 * 3 = 150 Gwei = 0.00000015 Eth。

Gas Limit (燃料供给上限)

交易中Gas上限值。是指:交易中最多花费多少Gas。

由于交易复杂度各不相同,ETH网络需要完成交易后,才能计算出一共要花费多少Gas。

所以,ETH网络,要求交易者在发出交易之前,为交易设定一个Gas上限。

如果交易还没完成,而消耗的Gas,已经超过交易者设定的Gas Limit,那么交易就会被取消。

转账的ETH会退回,但燃料费还是要扣除,用作奖励矿工。

而如果交易已经完成,而消耗的Gas没要达到Gas Limit,则只花费实际消耗的Gas,不会多算。

强调

设置Gas的主要目的,不是为了金钱!

而是为了每条指令都有价!阻止恶意的循环语句和其它恶意语句,阻止恶意代码的运行。

以上便是樱花区块链给大家分享的关于「ETH转账收Gas费用,竟然不是为了钱?」http://www.0797jjw.cn/qklfw/qklfw_840.html的相关信息了,希望能帮助到大家,更多区块链相关内容,敬请关注樱花区块链!

猜你喜欢

区块链一把打开文化产业未来发展之门的钥匙

区块链如何给人事行业带来变革?

ETH转账收Gas费用,竟然不是为了钱?

区块网:UPS使用块链技术监控运往日本的牛肉

海尔中央空调:供应链金融的“雷区”在哪里?

企业该选择公有链、私有链还是联盟链?(案例详解)

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。