filecoin gas费用计算

FilecoinGas费用借鉴EIP1544。引入了basefee燃烧的概念,而不像以前一样,会把所有gasused*gasPrice的费用全部给矿工。首先我们先对其中的名词概念做一些解释。BaseFee,单位是attofil/gas。这个参数是filecoin网络根据网络拥堵情况动态变化

Filecoin Gas费用借鉴EIP 1544。引入了basefee燃烧的概念,而不像以前一样,会把所有gasused*gasPrice的费用全部给矿工。

首先我们先对其中的名词概念做一些解释。

  1. BaseFee,单位是attofil/gas。这个参数是filecoin网络根据网络拥堵情况动态变化的,用户无法设置。可以根据节点的RPC接口获取。
  2. GasFeeCap,单位是attofil/gas。参数是用户发送消息时设置在消息里面的,意思是用户愿意对每个gas出的最高单价。
  3. GasLimit,参数也是用户设置在消息中的,意思是用户愿意对这个消息最多出多少gas。也就是说,GasFeeCap*Gaslimit就是用户愿意为这个消息话费多少钱的最大值。不能超过。
  4. GasPremium,单位是attofil/gas。参数也是用户设置在消息中的。意思是愿意给矿工每个gas多少的钱的小费。为了让矿工选择简单,矿工的小费收入应该是Gaslimit * GasPremium,注意这里用的是gaslimit而不是gasused。
  5. gasUsed,是网络计算消息后,得出具体花费了多少gas的值。

用户的发送一个消息的成本: 燃烧:(baseFee gasUsed)+ 矿工小费:(GasPremiumGasLimit)+ 溢出燃烧:(ComputeGasOverestimationBurn() * baseFee)

溢出燃烧的主要逻辑是不允许用户随意设置GasLimit,如果超过了GasUsed 的1.1倍,就会被燃烧一部分。从而防止用户随意设置GasLimit,进而挤占BlockLimit,形成是一种恶意攻击形式。

点赞 1
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
杜满想Elvin
杜满想Elvin
老程序员,区块链架构师