estimateGas 始终为空或零

estimateGas always null or zero

在玩 web3 时,我遇到了以下问题。

可能是我的代码,或者可能只是交易不需要 gas?

始终 returns 为空或零。

可能是我理解不够,请多多指教。

var gas = 0;
const eth = new Eth(web3.currentProvider);
const contract = new EthContract(eth);
const myContract= contract(abi);
var me = myContract.at(contractAddress);
eth.estimateGas({
        from: eth.accounts[0], 
        to: "0x0Fe18f369c7F34208922cAEBbd5d21E131E44692", 
        amount: web3.toWei(1, "ether")}, function(d){
        var gas = web3.toBigNumber(gas).toString();
        console.log(gas);                            
        if(gas.toString() != "null"){
                   gas = d; 
                    console.log("Gas: " + d);
       }
 });

Returns 始终为零...或为空?这是我的代码错误?或者这个交易不需要gas??新的和学习,谢谢。

Web3 API 使用 error first style callbacks.

你的电话应该是这样的:

eth.estimateGas({
    from: eth.accounts[0], 
    to: "0x0Fe18f369c7F34208922cAEBbd5d21E131E44692", 
    value: web3.toWei(1, "ether")
  }, 
  function(e, d) {
    var gas = web3.toBigNumber(gas).toString();
    console.log(gas);

    if (gas.toString() != "null") {
      gas = d; 
      console.log("Gas: " + d);
    }
 });