如何在智能合约中获得交易成本 - Solidity,Ethereum

时间:2018-01-13 22:54:35

标签: ethereum solidity

我如何在合同中获得交易成本?它只是:tx.gasprice?这将永远是gwei的价值还是wei?

1 个答案:

答案 0 :(得分:4)

在执行完成之前,事务的成本并不确定。在一个极端的例子中,也许你计算它的函数被另一个函数调用,并且在你返回之后,该函数throw s消耗所有剩余的气体。你无法事先知道会发生这种情况。

要计算交易成本,您需要两条信息:

  1. 汽油价格。
  2. 消耗多少气体。
  3. 如果你们两个都知道,你可以将它们组合在一起并获得总成本。 tx.gasprice告诉你(1),但如上所述,你真的不知道(2)。你可以做的最好的事情就是在函数的顶部和底部使用msg.gas来告诉你功能消耗的气体