区块链Gas:为什么智能合约需要它?

加入我们 一起感知区块链

币圈或者链圈的人可能对Gas都不陌生,但是即使自己在转账的时候会自然而然地用到它,但大家对其的认识也可能只停留在转账确认需要消耗的费用,那么,Gas到底是个什么东西,一笔转账到底是如何进行的?本文来自dapdap区块链,读完你可能就会对Gas有一个相对全面的认识。

来源:dapdap区块链

作者:链圈斯嘉丽

以太坊的运行环境,也被称为以太坊虚拟机(EVM)。

每个参与到网络的节点,都会运行EVM,作为区块验证协议的一部分。每个网络中的全节点,都会进行相同的计算并储存相同的值。

这也就是我们常说的,区块链的分布式存储。

合约执行会在所有节点中被多次重复,而且任何人都可以发布执行合约。

这导致了一个结果:合约执行的消耗非常昂贵。

为了防止以太坊网络发生蓄意攻击或滥用的现象,以太坊协议规定交易或合约调用的每个运算步骤,都需要收费。

这笔费用以Gas作为单位计数,也就是俗称的燃料。

以太坊交易的基本概念

"交易"这个术语,在传统经济学领域里,一般被理解为“物物兑换”或者是“钱物兑换”。

在以太坊里,最直观的理解就是:从一个账户发送到区块链上的另一个账户,包含消息和签名的数据包。

包含如下内容:

发送者的签名

接收的地址

转移的数字货币数量等内容

这些内容,我们可以通过查看转账交易,能得到相应信息,后文将说明查看方法。

ETH 有非常多的计量单位:Finney,Szabo,Gwei,Mwei,Kwei 和 Wei,其中人们常用的单位是Gwei。

Wei是最小的 ETH 单位。

详细换算表见下图。

汇率:1Ether=10^18wei

具体的汇率查询,可以查看以下网站:

https://jin10086.github.io/etherconverter/

计算交易费用前,我们需要先了解两个名词的含义:

GasLimit值

这代表了这个交易的执行最多被允许使用的计算步骤,一般使用默认值即可,无需调整。

GasPrice值

代表了交易发送者愿意支付的gas费用,可以自行设置。支付的费用越多,打包速度越高。

交易费用如何计算

计算交易费用有一个公式:Gas= Gas limit(限制)* Gas Price(价格)

以下图为例,如果想要普通和低速,设置1.5-1.6的gas费就可以了,如果想要高速在2分钟之内被打包,那需要给到近2倍的价格—3。

每次交易之前,可以查询以下网站来确认需要设置的Gasprice:

https://ethgasstation.info/

任何交易都需要消耗Gas,但是交易失败会扣除较少的费用。

例如下面这比交易,设置的是153Gwei,Gas limit40000

若交易成功,最大扣除费用是153*40000=0.062Ether。

如何查询你的交易

无论是在任何钱包进行交易,每笔交易都会产出一个TxHash,

你可以在https://etherscan.io,查询你的交易状态,

以metamask上为例,下图是交易的记录

随意点击一笔交易记录,可以查看该交易的状态。

状态有pending,success,faild三种,pending就是正在确认中,success已经成功,faild就是失败,

论哪种转态都会扣除一定的燃油费,在实际支付的燃油费中可以查看。

上图是每笔交易数据的图片详细解析,参照这个说明,你可以了解到任意一笔转账的具体信息。

我的结束语,共享经济模式加互联网金融,我们可以重新共享一切。谢谢大家。

---end

本文为转载文章,来源于dapdap区块链,作者链圈斯嘉丽,版权归其所有,已获授权。

欢迎添加好友交流学习

合作请备注公司、职务

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180823A1KOLB00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券