web3.eth.estimateGas

估计调用需要耗费的gas量。这个方法在节点的VM中执行一个消息调用或交易,但是不会修改区块链。

调用:

1
web3.eth.estimateGas(callObject [, callback])

参数:

  • callObject: Object - 要发送的交易对象,可包含以下字段:
    • from: String - 指定的发送者的地址。如果不指定,使用web3.eth.defaultAccount。
    • to: String - (可选)交易消息的目标地址,如果是合约创建,则不填.
    • value: Number|String|BigNumber - (可选)交易携带的货币量,以wei为单位。如果合约创建交易,则为初始的基金。
    • gas: Number|String|BigNumber - (可选)默认是自动,交易可使用的gas,未使用的gas会退回。
    • gasPrice: Number|String|BigNumber - (可选)默认是自动确定,交易的gas价格,默认是网络gas价格的平均值 。
    • data: String - (可选)或者包含相关数据的字节字符串,如果是合约创建,则是初始化要用到的代码。
    • nonce: Number - (可选)整数,使用此值,可以允许你覆盖你自己的相同nonce的,正在pending中的交易11。
  • callback:Function - 回调函数,用于支持异步的执行方式

返回值:

  • Number - 模拟的call/transcation花费的gas。

示例:

1
2
3
4
5
6
var result = web3.eth.estimateGas({
to: "0xc4abd0339eb8d57087278718986382264244252f",
data: "0xc6888fa10000000000000000000000000000000000000000000000000000000000000003"
});
console.log(result);
//输出 "0x0000000000000000000000000000000000000000000000000000000000000015"

教程推荐: