区块链Gas:为什么智能合约需要它?
盖世英雄16
发表于 2022-11-15 00:58:23
202
0
0
以太坊的运行环境,也被称为以太坊虚拟机(EVM)。8 U3 p# X; l. s1 p
每个参与到网络的节点,都会运行EVM,作为区块验证协议的一部分。每个网络中的全节点,都会进行相同的计算并储存相同的值。+ ? B, |4 l: K3 z; t$ U3 L+ n
这也就是我们常说的,区块链的分布式存储。2 S+ N3 e9 v. Y- z5 f
2 _! q# U" w* j5 F# c; s8 D" g, D7 `
合约执行会在所有节点中被多次重复,而且任何人都可以发布执行合约。
这导致了一个结果:合约执行的消耗非常昂贵。
r0 M& D/ E/ n1 ~5 @( n1 l. Y9 \2 J
为了防止以太坊网络发生蓄意攻击或滥用的现象,以太坊协议规定交易或合约调用的每个运算步骤,都需要收费。- ]$ j E, _, E9 B5 P
这笔费用以Gas作为单位计数,也就是俗称的燃料。% y- F; h. D1 y" ]9 k# }7 F) M
以太坊交易的基本概念" a% P- }' O9 K1 ]: r% B, w8 h
"交易"这个术语,在传统经济学领域里,一般被理解为“物物兑换”或者是“钱物兑换”。/ N3 G/ Z9 O' A/ q
在以太坊里,最直观的理解就是:从一个账户发送到区块链上的另一个账户,包含消息和签名的数据包。
包含如下内容:
发送者的签名/ _, q+ M4 q' [, q2 J9 A; t% ]
接收的地址
转移的数字货币数量等内容4 u: m" `3 s8 u- b1 p' _
这些内容,我们可以通过查看转账交易,能得到相应信息,后文将说明查看方法。
ETH 有非常多的计量单位:Finney,Szabo,Gwei,Mwei,Kwei 和 Wei,其中人们常用的单位是Gwei。* d( m% N5 k* i0 j+ f( p
Wei是最小的 ETH 单位。& n' ?, e- x, w# J$ W6 R2 {
详细换算表见下图。- V/ }. o( | q0 o) m- Y5 Z
. A+ l) _6 J) r! A8 m
汇率:1Ether=10^18wei
具体的汇率查询,可以查看以下网站:
https://jin10086.github.io/etherconverter/$ d, E6 l- `5 V# ~! m
计算交易费用前,我们需要先了解两个名词的含义:" p0 G3 f; P/ e' f* U: z$ k
GasLimit值+ A+ m# [6 I9 P" q* T9 F
这代表了这个交易的执行最多被允许使用的计算步骤,一般使用默认值即可,无需调整。
$ f" A5 T! S3 g
GasPrice值
代表了交易发送者愿意支付的gas费用,可以自行设置。支付的费用越多,打包速度越高。
交易费用如何计算
计算交易费用有一个公式:Gas= Gas limit(限制)* Gas Price(价格), W3 m! O" ~: i: c. W, a
以下图为例,如果想要普通和低速,设置1.5-1.6的gas费就可以了,如果想要高速在2分钟之内被打包,那需要给到近2倍的价格—3。( W, ~: f/ ~' r7 v5 n, r; w9 U9 O
每次交易之前,可以查询以下网站来确认需要设置的Gasprice:
https://ethgasstation.info/8 X+ U7 A, ~/ ?! Q6 J
5 v6 E4 W5 E8 X `" i, G
任何交易都需要消耗Gas,但是交易失败会扣除较少的费用。
例如下面这比交易,设置的是153Gwei,Gas limit40000
6 e D2 w! m* w4 E+ B6 n
若交易成功,最大扣除费用是153*40000=0.062Ether。
若交易失败,实际扣除的是0.003697398 Ether。4 h9 t, f: ?7 E# c
如何查询你的交易$ B; V: U2 t0 N1 u8 v; C, Y- Z4 ~
无论是在任何钱包进行交易,每笔交易都会产出一个TxHash,
你可以在https://etherscan.io,查询你的交易状态,. D/ ]5 m* \* X* @7 x! o
以metamask上为例,下图是交易的记录
随意点击一笔交易记录,可以查看该交易的状态。, Z, _( \7 P9 h5 Y: U: J
状态有pending,success,faild三种,pending就是正在确认中,success已经成功,faild就是失败,
1 C' U. a1 c8 F5 R* e3 g X
论哪种转态都会扣除一定的燃油费,在实际支付的燃油费中可以查看。; M7 _- s3 H% P8 p: J; `: B% z
上图是每笔交易数据的图片详细解析,参照这个说明,你可以了解到任意一笔转账的具体信息。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
成为第一个吐槽的人