主页 > imtoken钱包官网下载 > 以太坊基本概念:交易和交易费用

以太坊基本概念:交易和交易费用

imtoken钱包官网下载 2023-05-11 07:41:42

贸易

交易是一条消息,从一个账户发送到另一个账户(可以是同一个账户或零账户,见下文)。 交易可以包含二进制数据(有效载荷)和以太币。

如果目标帐户包含代码,则执行该代码,并且有效负载是输入数据。

如果目标账户是零账户(账户地址为0),交易将创建一个新合约。 如上所述,这个合约地址不是零地址,而是根据合约创建者的地址和这个地址发送的交易数量(称为nonce)计算得出的。 合约创建交易的有效负载作为 EVM 字节码执行。 执行的输出作为合约代码永久存储。 这意味着以太坊交易费,为了创建合约,您不需要向合约发送真实的合约代码,而是发送返回真实代码的代码。

以太坊交易费_以太坊币交易官方网站_sitebitett.com 以太坊怎么交易

石油:天然气

以太坊上的每笔交易都会收取一定数量的天然气。 gas 的目的是在支付执行费用的同时限制执行交易所需的工作量。 当EVM执行一笔交易时,gas会按照一定的规则逐渐消耗。

sitebitett.com 以太坊怎么交易_以太坊币交易官方网站_以太坊交易费

石油价格:天然气价格

gas price(以太币)由交易创建者设定,发送账户需要预付交易手续费=gas price * gas amount。 如果执行后还有gas剩余,gas会返还给发送账户。

以太坊交易费_sitebitett.com 以太坊怎么交易_以太坊币交易官方网站

无论在哪里执行,一旦gas耗尽(比如下降到负值),都会触发out-of-gas异常。 当前调用框架所做的所有状态修改都将回滚。

交易手续费限额:gas limit

sitebitett.com 以太坊怎么交易_以太坊币交易官方网站_以太坊交易费

每笔交易都需要包括一个 gas 限额(有时称为 startGas)和交易愿意为每单位 gas 支付的费用。 矿工可以选择打包这些交易并收取这些费用。 在现实中以太坊交易费,今天所有的交易最终都是由矿工选择的,但是用户选择支付的交易手续费会影响交易打包的等待时间。 如果交易由于计算,包括原始消息和一些触发的其他消息,需要小于或等于设置的gas limit,那么交易将被处理。 如果总耗气量超过gas limit,所有操作将被还原,但交易成立,交易费仍由矿工收取。 区块链将显示交易已尝试完成,但由于没有提供足够的气体,所有合约命令都被还原。 因此,交易中未使用的多余gas将以以太币的形式返回给交易发起方。 因为 gas 消耗通常只是一个粗略的估计,许多用户会多付 gas 以确保他们的交易被接受。 这很好,因为多余的气体将退还给您。

你可以把gasLimit理解为你的汽车油箱的上限。 同时,gasPrice 被理解为石油的价格。

以太坊币交易官方网站_以太坊交易费_sitebitett.com 以太坊怎么交易

区块交易手续费上限:区块gas limit

区块gas limit是单个区块允许的最大gas量,可以用来决定一个区块可以打包多少笔交易。 例如,我们有 5 笔交易,gas limit 分别为 10、20、30、40 和 50。如果区块 gas limit 为 100,那么前 4 笔交易可以成功打包到这个区块中。 矿工有权决定将哪些交易包含在区块中。 因此,另一个矿工可以选择将最后两笔交易包含到这个区块 (50+40) 中,然后包含第一笔交易 (10)。 如果您尝试打包一个将使用超过当前区块 gas 限制的交易,该交易将被网络拒绝,您的以太坊客户端将报告错误“交易超出区块 gas 限制”。 以下示例来自 Ethereum StackExhcange 帖子。

当前区块的gas limit为4,712,357 gas,数据来自ethstats.net,也就是说一个区块大约可以塞入224笔转账交易(gas limit为21000)(出块时间在15-20秒左右波动) . 该协议允许每个区块的矿工调整区块气体限制,任意增加或减少 1/2024 (0.0976%)。

最佳实践

帮助理解这些概念的最佳方法是练习。 推荐汇智网提供的两篇优秀的在线教程: