气体计数。燃气和用过的燃气有什么区别?

fck*_*ckt 3 nearprotocol

在交易执行期间,我们计算我们“燃烧”了多少以及“使用了多少”。为什么我们必须分别跟踪这些计数器?

Mak*_*kyi 5

  • 使用的气体包括燃烧的气体,所以gas_used >= gas_burnt,总是;
  • 当任何类型的费用被应用时,它都计入gas_burntgas_used
  • 当合约执行跨合约调用并将Xgas 量附加到此调用时,则X计入gas_used但不计入gas_burnt。这是gas_used和之间差异的唯一来源gas_burnt。如果智能合约在完成执行之前失败,则不会执行任何跨合约调用(或合约创建的交易)并退还附加的 gas;
  • 根据之前的要点,当合同失败时,gas_used - gas_burnt会退还给帐户,而gas_burnt会永远丢失(因为gas_burnt对应于实际上花费了验证器一些计算工作的费用)。