ОценкаГаз всегда ноль или ноль

Играя с web3, у меня возникли некоторые проблемы со следующим.

Может быть, мой код или просто транзакции не требуют газа?

Всегда возвращает ноль или ноль.

Может быть, мое непонимание и советы будут оценены.

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); } });

Возвращает ноль всегда.... или ноль? Это ошибка с моим кодом? или эта сделка не требует газа?? Новое и обучение, спасибо.

1 ответ

Решение

Web3 API использует обратные вызовы в стиле ошибки.

Ваш звонок должен выглядеть так:

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);
    }
 });
Другие вопросы по тегам