ethereum - 如何在智能合约中获取交易成本 - Solidity、以太坊

标签 ethereum solidity

我如何在契约(Contract)中获得交易成本?会不会只是:tx.gasprice ?这将始终是 gwei 的值还是 wei ?

最佳答案

在执行完成之前,交易的成本是未知的。在一个极端的例子中,也许正在计算 this 的函数被另一个函数调用,并且在您返回后,该函数 throw s,消耗所有剩余的气体。您无法提前知道这会发生。

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

  • 气价。
  • 将消耗多少气体。

  • 如果您知道两者,则可以将它们组合在一起并获得总成本。 tx.gasprice告诉你(1),但如上所述,你不能真正知道(2)。您能做的最好的事情可能是使用 msg.gas在函数的顶部和底部,大致告诉您该函数消耗了多少 gas。

    关于ethereum - 如何在智能合约中获取交易成本 - Solidity、以太坊,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48245051/

    相关文章:

    blockchain - 源文件需要不同的编译器版本: Truffle

    ethereum - 跟踪 ERC721 智能合约上所有类型转换的代币

    blockchain - 监控以太坊专用网络

    android - 如何将 uPort 移动应用程序与我的应用程序集成?

    ethereum - 是否可以修改另一个契约(Contract)中的变量值?

    solidity - 在solidity中,keccak 256函数返回一个哈希值。 keccak 256 返回多少位?

    java - RSK 网络上智能合约的最大大小是多少?

    java - Web3j Android java Solidity 包装器错误

    node.js - npm install solc 和 solc-cli 但在 ubuntu 中失败

    testing - 如何测试松露中的付款方式?