What is and how to calculate 'cumulative gas used'?

First of all, let's understand what is the cumulative gas used.

cumulativeGasUsed: Number - The total amount of gas used when this transaction was executed in the block.

As suggested by JavaScript API. That explanation was not clear to me at all, let's try another one:

cumulativeGasUsed is the sum of gasUsed by this transaction and all preceding transactions in the same block.

Example: http://etherscan.io/txs?block=1402679 We have there 4 transactions. 3 simple sends, and 1 contract creation.

  1. Send, 21000 gasUsed, 21000 cumulativeGasUsed
  2. Send, 21000 gasUsed, 42000 cumulativeGasUsed
  3. Send, 21000 gasUsed, 63000 cumulativeGasUsed
  4. Contract creation, 514474 gasUsed, 577474 cumulativeGasUsed

Now if we calc 577474 - 63000 the result is 514474.

Back to your question about how to calculate it. Simple answer: you just don't bother, cause it doesn't(almost) affect your transaction. But if you're really want to do that here the simple approach. Get the 'pending' block gasUsed web3.eth.getBlock('pending').gasUsed and add to it the estimateGas of your transaction. Most of the time it will result in a cumulativeGasUsed for your transaction. It may change though if someone will submit another transaction in between your estimation and your submit.

I said 'almost' earlier because it may affect your transaction in a way that it will not fit the block gas limit.

I see the field Cumulative Gas Used which isn't present in web3 response.

It is present in web3.eth.getTransactionReceipt(txHash) response.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值