ethers.js: provider.getGasPrice()

问题描述

ethers.js 中,您可以使用 provider.getGasPrice() 来估计您应该支付的 gas 的最佳估计值。有没有什么简单的方法我可以调用或转换到这个值上,以获得相当于“快速”交易而不是“平均”速度交易的效果

解决方法

getGasPrice() 查询您的提供者 JSON-RPC 方法 eth_gasPrice 并简单地代理您的提供者返回的任何内容。


为了计算“快速”和“平均”速度,您需要定义您考虑的这些指标。例如,您可以收集最近 20 个区块(大约 5 分钟)内的所有交易,并在历史数据中查找百分位数:

  • 天然气价格前 10% 的百分比是“快”
  • 汽油价格前 50% 的百分比是“平均”

您可以使用 getBlockWithTransactions() ethers.js 方法获取区块中的交易。在每笔交易中,您都在寻找 gasPrice 属性。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...