问题描述
在 ethers.js
中,您可以使用 provider.getGasPrice()
来估计您应该支付的 gas 的最佳估计值。有没有什么简单的方法我可以调用或转换到这个值上,以获得相当于“快速”交易而不是“平均”速度交易的效果?
解决方法
getGasPrice()
查询您的提供者 JSON-RPC 方法 eth_gasPrice 并简单地代理您的提供者返回的任何内容。
为了计算“快速”和“平均”速度,您需要定义您考虑的这些指标。例如,您可以收集最近 20 个区块(大约 5 分钟)内的所有交易,并在历史数据中查找百分位数:
- 天然气价格前 10% 的百分比是“快”
- 汽油价格前 50% 的百分比是“平均”
您可以使用 getBlockWithTransactions() ethers.js 方法获取区块中的交易。在每笔交易中,您都在寻找 gasPrice
属性。