以太坊交易费用、gas 限额和已用 Gas
Posted
技术标签:
【中文标题】以太坊交易费用、gas 限额和已用 Gas【英文标题】:Transaction fee, gasLimit and usedGas in Ethereum 【发布时间】:2019-05-21 06:33:46 【问题描述】:我正在阅读有关以太坊中的 Gas 以及它如何用于控制执行的信息。有几点我不清楚:
TransactionFee = GasLimit * GasPrice(都由账户指定?)
据我了解,当交易处理完毕并在挖矿后,这笔费用将归矿工所有。另一方面,对于 EOA,它从余额中删除 GasUsed*GasPrice 的数量,GasLimit - GasUsed 的差值也返回给 EOA(如果交易有效)。 我的问题是:
-
Gavin Wood 的论文中指定的帐户中没有气场。 GasLimit - GasUsed 如何退回账户?是不是转换成魏?
在 Andreas M. Antonopoulos 和 Gavin Wood 的“掌握以太坊”一书中,有一句话
“您只需为您的交易实际消耗的 gas 付费, 但你必须有足够的余额来支付你的最大金额 愿意在您发送交易前付款”
在gasLimit领域的论文中说
“这是在任何计算完成之前预先支付的,可能不会 增加”
该帐户用于支付什么费用? gasLimit 还是消费Gas?
-
如果它为消费的Gas 付款,则不应向矿工支付消费的Gas 而不是transactionFee,因为从发送方提取的“钱”流向了矿工。
如果是TransactionFee,给矿工发件人消耗的Gas + Gas的差额,但这个差额也被退回到账户?!它就像以太坊一样使用两倍的相同差异。
我错过了什么?
【问题讨论】:
【参考方案1】: 交易签名者定义 gas 限制 和 gas 价格。 在处理交易时,金额(gas limit * gas price)会从交易发送者的账户中扣除。 交易结束时,gas 使用量为gas used。发件人的帐户因未使用而记入贷方。该金额为 (gas limit - gas used) * gas price。所以最终结果是 gas used * gas price 已从发送者的账户中扣除,这是作为一部分记入矿工的金额他们的奖励。尽管从技术上讲,先扣除然后退款(以便在交易处理期间余额正确),但通常更简单地将其视为“您为使用的天然气付费”。我想这就是为什么你看到它在不同的地方有不同的描述。
回答您的个别问题:
-
乘以汽油价格。这就变成了wei。
该帐户最终会支付刚刚消耗的 gas。
是的,矿工只获得消耗的气体的报酬。
【讨论】:
以上是关于以太坊交易费用、gas 限额和已用 Gas的主要内容,如果未能解决你的问题,请参考以下文章