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