使用web3,我遇到以下问题。
可能是我的代码还是仅仅是交易不需要气体?
始终返回null或Zero。
可能是我缺乏理解和建议。
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);
}
});
返回零总是....或null?这是我的代码错误?或者这笔交易不需要气体?新的和学习,谢谢。
答案 0 :(得分:2)
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);
}
});