前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何估算太坊交易的gas消耗量

如何估算太坊交易的gas消耗量

作者头像
用户1408045
发布2018-05-17 11:01:32
9990
发布2018-05-17 11:01:32
举报
文章被收录于专栏:汇智网教程

在以太坊中,使用estimateGas()方法来估算一个交易要消耗的gas消耗量。我们区分普通转账交易和合约方法交易进行说明。

普通转账交易

对于普通转账交易而言,使用web3.eth.estimateGas()方法进行估计。例如:

代码语言:javascript
复制
var from = web3.eth.accounts[1]
var to = web3.eth.accounts[2]
var quantity = web3.eth.estimateGas({
  from:from,
  to:to,
  value:50000000000000})
console.log('大约要消耗gas:',quantity)
var amount = quantity * web3.eth.gasPrice
console.log('转出方的账户余额大约要减少:',amount,'(wei)')

合约方法交易

对于合约方法交易而言,使用合约对象上该方法的estimateGas()调用进行估计。例如,对于下面的合约:

代码语言:javascript
复制
pragma solidity ^0.4.8;
contract EzTest {
    uint public num;
    function setNum(uint newNum) {
        num = newNum;
    }
}

可以在js中估算setNum()方法的gas消耗量。例如,下面的代码对setNum(4)调用要消耗的gas量进行估算:

代码语言:javascript
复制
//inst 是EzTest合约的实例对象
inst.setNum.estimateGas(4, {from: web3.eth.accounts[1]})

在线教程

如果你正在尝试学习以太坊DApp开发,可以尝试一下汇智网的在线互动教程:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 普通转账交易
  • 合约方法交易
  • 在线教程
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档