显示包…
1 个稳定版本
2.0.0 | 2021 年 4 月 4 日 |
---|
#76 在 #tetcoin
123 每月下载次数
在 13 个包(7 直接) 中使用
1MB
25K 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
:这是一个乘数,可以根据网络的拥堵程度调整最终费用。
此外,此模块允许您配置
- 通过
Config::WeightToFee
之间的映射,一个单位的权重对应一个单位的费用。 - 通过定义一个基于前一区块末尾链最终状态的乘数来更新下一块费用的方法。这可以通过
Config::FeeMultiplierUpdate
进行配置 - 通过
Config::OnChargeTransaction
付费的方式
依赖项
~3–12MB
~134K SLoC