gas费用估算
const gasLimit = await provider.estimateGas(tx); // transaction const gasLimit = await instance_contract.estimateGas.method(message); //contract
const calculateArbitrumGas = async (provider, gasLimit) => {
const feeData = await provider.getFeeData();
// ArbGasInfo.getMinimumGasPrice
// (currently 0.1 gwei on Arbitrum One and 0.01 gwei on Nova).
// ethers.utils.parseUnits("0.1", "gwei");
const lastBaseFeePerGas = feeData.lastBaseFeePerGas;
const gasFee = lastBaseFeePerGas.mul(gasLimit);
console.log("lastBaseFeePerGas: ", ethers.utils.formatUnits(feeData.lastBaseFeePerGas, "gwei"), "Gwei");
console.log("gasLimit: ", gasLimit.toString());
console.log("Arbitrum max gas cost:", ethers.utils.formatUnits(gasFee, "ether"), "Ether");
}
const calculateEthereumGas = async (provider, gasLimit) => {
const feeData = await provider.getFeeData();
console.log("lastBaseFeePerGas: ", ethers.utils.formatUnits(feeData.lastBaseFeePerGas, "gwei"), "Gwei");
console.log("maxFeePerGas: ", ethers.utils.formatUnits(feeData.maxFeePerGas, "gwei"), "Gwei");
console.log("maxPriorityFeePerGas: ", ethers.utils.formatUnits(feeData.maxPriorityFeePerGas, "gwei"), "Gwei");
console.log("gasPrice: ", ethers.utils.formatUnits(feeData.gasPrice, "gwei"), "Gwei");
console.log("gasLimit: ", gasLimit.toString());
const lastBaseFeePerGas = feeData.lastBaseFeePerGas;
const maxFeePerGas = feeData.maxFeePerGas;
console.log("Estimated gas cost: ", ethers.utils.formatUnits(lastBaseFeePerGas.add(feeData.maxPriorityFeePerGas).mul(gasLimit), "ether"));
console.log("Max gas cost: ", ethers.utils.formatUnits(maxFeePerGas.mul(gasLimit), "ether"), "Ether");
return {
maxFeePerGas: ethers.utils.formatUnits(feeData.maxFeePerGas, "wei"),
maxPriorityFeePerGas: ethers.utils.formatUnits(feeData.maxPriorityFeePerGas, "wei"),
gasLimit: gasLimit
};
}
https://www.120btc.com/zixun/qukuai/17638.html
https://metamask.zendesk.com/hc/en-us/articles/4404600179227-User-Guide-Gas
https://metamask.zendesk.com/hc/en-us/articles/360022895972