Ich ersetze das web3 meiner MetaMask durch web3.js 1.0.0-beta.34, und getGasPrice gibt unter jedem Netzwerk immer null zurück --
window.web3 = new Web3(web3.currentProvider);
console.log('web3.version = ' + web3.version);
web3.eth.getGasPrice(gasPrice => {
console.log('gasPrice = ' + gasPrice);
});
dh vom Mainnet zu Ropsten zu meinem privaten Netzwerk ( ganache-cli ) log --
web3.version = 1.0.0-beta.34
gasPrice = null
Hat jemand die gleiche Erfahrung? Was könnte schief gelaufen sein?
Es stellt sich heraus, dass die korrekte Syntax für web3 1.0 lauten sollte --
web3.eth.getGasPrice().then(gasPrice => {
console.log('gasPrice = ' + gasPrice);
});
welche Protokolle --
gasPrice = 20000000000
Ein weiterer asynchroner Weg:
let transaction = await any_function;
let gasUsed = transaction.receipt.gasUsed;
let txInfo = await web3.eth.getTransaction(transaction.tx);
let gasPrice = txInfo.gasPrice;
console.log(gasPrice);
Maulik Vora
Jerry Ji