燃气
Conflux users(both Core Space and eSpace) usually see fields like gasFee
, gas
, and gasPrice
when they are sending transactions using their wallets (Fluent) or SDK. This article is going to explain in detail about what these concepts mean.
gasFee
在现实生活中,当我们在银行向别人汇款时,我们通常要支付交易费用。 在区块链(比特币、以太坊、Conflux)中发送交易也是一样的。 gasFee
是发送交易的费用。 通常,它需要用链的原生代币来支付。 以Conflux为例,需要用CFX来支付交易费用(gas费用)。
为什么要支付费用
众所周知,区块链实际上是一个去中心化的账本,由矿工维护。 矿工存储数据和生成区块(计算哈希)有一定的成本。 因此,为了激励矿工积极参与链维护和保护网络安全,区块链共识系统被设计为包含一个对矿工的奖励机制,而交易费就是矿工的奖励之一,它将支付给参与生成区块的矿工。 这个机制可以保证整个去中心化网络的可持续性。
另外,gas费用机制也可以防止滥用交易,从而提高区块链利用效率。
什么是Gas
Gas的概念借鉴了现实中的“汽油”。 汽车消耗汽油来行驶。 汽车行驶得越远,消耗的汽油就越多。 在EVM区块链中,gas表示执行一笔交易所需的工作总量。 Therefore, it is a unit that measures the amount of computation required to perform certain operations.
具体来说,所有Conflux的 交易都是由EVM执行的,包括普通的CFX转账和智能合约方法调用。 当这些操作被执行时,它们被编译成单个OPCode。 执行每个OPCode所需的工作量不同。 关于OPCode gas费用的更多信息可以在这里找到。
通常,一笔普通的CFX转账所消耗的gas为21000
。 一笔智能合约交易通常需要更多,具体取决于合约执行的复杂度。
Gas Limit
在构造一笔交易时,gas
字段非常重要,因为该字段本身表示交易执行所能消耗的gas的上限
。
正确填写gas字段非常重要。 如果燃料限制设置为小于实际所需gas量的值,交易将失败。 如果gas限制设置得太高,你可能会支付比你实际需要的更多的gas。
It should be mentioned that transaction will typically fail if the gas limit is exactly set to gas consumption due to EIP-150.
Conflux网络中单笔交易的最大gas限制是15M。 这确保了交易不会过度消耗EVM资源。