什么是以太坊上的矿工费?

  • Tokenview
  • 更新于 2024-04-11 08:40
  • 阅读 1784

在以太坊网络中进行任何类型的转账都需要支付费用,这个费用被称为矿工费,以ETH支付。矿工费的高低决定了交易的处理速度,通常情况下,矿工费越高,打包速度越快。

在以太坊网络中进行任何类型的转账都需要支付费用,这个费用被称为矿工费,以 ETH 支付。矿工费的高低决定了交易的处理速度,通常情况下,矿工费越高,打包速度越快。

以imtoken为例,设置矿工费有如下2种方式:

imtoken_miner_fee.jpg

在以太坊网络中存在 EIP-1559 和 Legacy 两种矿工费机制。在了解设置矿工费之前,我们需要先了解一个ETH的升级:“伦敦升级”。

什么是伦敦升级 / EIP-1559?

在伦敦升级之前,以太坊具有固定大小的区块。 在网络需求高峰期,这些区块满负荷运行。 因此,用户常常不得不等到需求量降低后才能将交易添加到区块中,这导致用户体验变得十分糟糕。 伦敦升级为以太坊引入了大小可变的区块。

以太坊网络交易费的计算方式在 2021 年 8 月的伦敦升级(https://ethereum.org/zh/history/#london)后发生了改变

在伦敦升级前,费用的计算没有区分 base 费和 priority 费。矿工费的计算使用的是Legacy机制。

在伦敦升级中实现的 EIP-1559 (https://eips.ethereum.org/EIPS/eip-1559) 使得交易费机制更加复杂,但提高了燃料费的可预测性,使交易费市场更加高效。 用户可以在提交交易时设定 maxFeePerGas(对应于他们愿意为执行交易支付多少费用),他们清楚支付金额将不会超过燃料的市场价格 (baseFeePerGas),并且多支付的金额将在减去小费后退还。

矿工费计算公式

目前大多数以太坊交易使用 EIP-1559。 使用传统的Legacy方式获取 Gas 费可能会导致交易速度变慢并支付更高的 Gas 费。

EIP-1559机制

在了解ETP-1559机制如何计算矿工费之前,需要先知道以下 6 个概念。

● Gas:以太坊网络执行每一笔交易都需要消耗资源,Gas 是其衡量资源的单位 ● Gas Used: 是用户执行操作消耗的 Gas 总量,是固定数额,ETH 转账为 21000,其他 ERC20 代币因为是智能合约,一般比 21000 贵,具体由智能合约代码复杂度决定。 ● BaseFee:以太坊网络计算的确保交易成功的基础费用,即每单位 Gas 的最低价格 ● PriorityFee:你为每单位 Gas 支付的小费,可加快交易被以太坊网络确认的速度 ● MaxPriorityFee:你为每单位 Gas 支付的小费上限 ● MaxFee:你为每单位 Gas 支付的最高价

计算公式:

● 矿工费 = Gas Used *(BaseFee + PriorityFee)

Legacy机制

在了解Legacy机制如何计算矿工费之前,需要先知道以下 3 个概念。

● Gas:以太坊网络执行每一笔交易都需要消耗资源,Gas 是其衡量资源的单位 ● Gas Used: 是用户执行操作消耗的 Gas 总量,是固定数额,ETH 转账为 21000,其他 ERC20 代币因为是智能合约,一般比 21000 贵,具体由智能合约代码复杂度决定。 ● Gas Price:你为每单位 Gas 支付的价格

计算公式:

● 矿工费 = Gas Used * Gas Price

如何设置Gas Price, Base Fee, Priority Fee

正如开汽车需要汽油,运行应用程序(交易 ETH、部署合约)需要燃料,这种燃料被称为 Gas。 每个操作所需的 Gas 量(Gas Used)是固定的,但 Gas 的价格(Gas Price)是会波动的。

因此,我们可以通过设置 Gas Price(包括 Base Fee 和 Priority Fee)来控制发送交易上链的速度。 以下是一些可以获取到Gas Price,Base Fee,Priority Fee的网站及API。

参考网站

● Etherscan区块浏览器(https://etherscan.io/gastracker) 交易燃料价格估算器 ● Tokenview区块浏览器(https://eth.tokenview.io/cn/gastracker) 交易燃料价格估算器 ● blocknative(https://www.blocknative.com/gas-estimator)

参考API

● Tokenview API(https://services.tokenview.io/cn/docs/api/blockchain/eth/gas.html)

Request
curl https://services.tokenview.io/vipapi/eth/gas/nextblock?apikey={apikey}
Response
{
    "code": 1,
    "msg": "成功",
    "data": {
        "nextBlockNum": 18210999,
        "midPriorityFee": "0.59",  // Middle Priority Fee
        "highPriorityFee": "1.98", // Hight Priority Fee
        "lowPriorityFee": "0.1",   // Low Priority Fee 
        "nextBlockNumBaseFee": "7.1" // Base Fee
    }
}
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Tokenview
Tokenview
Tokenview支撑120+条公链,包含自建公链节点,公链浏览器tokenview.io,公链数据API,公链富豪榜数据,公链智能合约,公链上所有交易数据,集丰富的区块链数据种类,数量于一体,其数据可被区块链各领域的开发者所使用,其API接口结构化易于使用,其准确度经多层校验精准完备。