Web3学习之GAS机制与手续费详解GAS机制GAS机制是一个比较重要的一个东西,因为我们在传统的开发里面就没有这个东西。GAS是一个特有的EVM的一个计价方式。因为在程序里面有一个问题叫图灵死机的问题。就是你没有办法证明一个程序,它是可以终止。我们在写代码的时候,例如我们写了一个赋
GAS机制是一个比较重要的一个东西,因为我们在传统的开发里面就没有这个东西。
GAS是一个特有的EVM的一个计价方式。因为在程序里面有一个问题叫图灵死机的问题。
就是你没有办法证明一个程序,它是可以终止。
我们在写代码的时候,例如我们写了一个赋值语句:
a = 3 + 5 --> add
b = 4 + a
我们有一系列这样的语句,这样的语句在EVM执行的时候,首先它会转化成一系列字节码。
它会定义某一个语句它要消耗多少gas。
比如说你这个加号需要消耗这个三个Gas。
当然这里面可能会有两个,一个是做这个加法的运算,也可能有做存储的。
我们的所有的代码最终都会转化成一堆EVM的OPcode。
然后每一个opcode它都会在黄皮书里面定义会消耗多少GAS。
它首先会转换成指令集,EVM在每一个执行的时候,它会加载到栈里面。
然后每执行一步就执行一个指令集,去根据GAS( 用户在请求的时候,它需要先指定你需要用多少)去扣除对应的GAS费用,直到把GAS全部扣完,执行就停止了。
这样就不会产生死循环了。如果是在一个for循环中,它就会一直不停的扣费,扣没了它就会抛出一个错误out of gas
。
也就是说你在执行的时候需要指定大概使用多少GAS。这样就可以防止图灵死机问题。它是一个工作量单位。
以太坊虚拟机操作码交互详情参考:https://www.evm.codes/
GAS也与具体参数的数据有关系,就是你的数据越多,它的消耗也就越多。
存储是比较贵的。
每一个操作都有对应的值显示需要消耗多少GAS。复杂度越大消耗也就越多。
Gas 机制是区块链平台(特别是以太坊)中的一个重要概念,用于计算和支付交易和智能合约执行的费用。它在确保网络安全性和效率方面发挥了关键作用。以下是对 Gas 机制的详细解释:
交易费计算:
交易执行:
矿工奖励:
-...
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!