#fee #transaction #pallet #weight #polkadot #payment #amount

无 std pallet-transaction-payment

FRAME 托盘用于管理交易支付(polkadot v1.15.0)

56 个版本 (35 个主要破坏性版本)

37.0.0 2024年7月18日
36.0.0 2024年7月12日
35.0.0 2024年6月21日
34.0.0 2024年5月23日
2.0.0-alpha.52020年3月24日

#1 in #fee

Download history 3265/week @ 2024-04-29 2978/week @ 2024-05-06 3063/week @ 2024-05-13 3304/week @ 2024-05-20 3644/week @ 2024-05-27 3601/week @ 2024-06-03 2552/week @ 2024-06-10 2783/week @ 2024-06-17 3954/week @ 2024-06-24 1538/week @ 2024-07-01 2324/week @ 2024-07-08 4066/week @ 2024-07-15 2901/week @ 2024-07-22 2974/week @ 2024-07-29 2834/week @ 2024-08-05 3801/week @ 2024-08-12

每月下载量 12,738
用于 120 个软件包(43 个直接使用)

Apache-2.0

2.5MB
44K SLoC

交易支付托盘

此托盘提供了执行交易所需的最基本的逻辑。这包括

  • 权重费用:与交易消耗的权重成比例的费用。
  • 长度费用:与交易编码长度成比例的费用。
  • 小费:可选的小费。小费提高了交易的优先级,使其有更高的概率被交易队列包括。

此外,此托盘还允许配置

  • 通过 Config::WeightToFee 将一个权重的单位与一个费用的单位之间的映射。
  • 通过定义一个基于前一区块末尾链的最终状态的乘数来更新下一区块费用的方法。这可以通过 Config::FeeMultiplierUpdate 进行配置。

许可证:Apache-2.0


lib.rs:

交易支付托盘

此托盘提供了执行交易所需的最基本的逻辑。这包括

  • 基本费用:这是用户为交易支付的最小金额。它在运行时被声明为一个基本权重,并使用WeightToFee转换为费用。
  • 权重费用:与交易消耗的权重成比例的费用。
  • 长度费用:与交易编码长度成比例的费用。
  • 小费:可选的小费。小费提高了交易的优先级,使其有更高的概率被交易队列包括。

基本费用、调整后的权重和长度费用构成了包含费用,这是交易被包含在区块中的最低费用。

最终费用的公式

inclusion_fee = base_fee + length_fee + [targeted_fee_adjustment * weight_fee];
final_fee = inclusion_fee + tip;
  • targeted_fee_adjustment:这是一个乘数,可以根据网络的拥堵情况调整最终费用。

此外,此托盘还允许配置

依赖项

~18–33MB
~542K SLoC