2个不稳定版本
0.2.0 | 2024年2月5日 |
---|---|
0.1.0 | 2024年1月23日 |
#13 in #quadratic
13KB
220 代码行
pluralistic-rs
概述
该pluralistic-rs
库是一个Rust包,提供基于一系列贡献计算二次资金分配的功能。库中包括生成随机贡献、管理贡献和应用二次资金公式以分配匹配资金池的健壮实现。
功能
- 二次资金计算:使用
calculate_linear_qf
函数计算资金分配。 - 匹配放大:放大匹配以饱和一轮。
- 匹配上限策略:使用
MatchingCapStrategy
应用不同的上限策略(Cap
和Redistribute
)。 - 随机贡献生成:使用实现了
Contribution
的Random
特质生成随机贡献。
安装
将pluralistic-rs
添加到您的Cargo.toml
依赖项中
[dependencies]
pluralistic-rs = "0.1.0"
用法
-
定义贡献:贡献由
Contribution
结构体表示,其中包含发送者、接收者和金额详细信息。 -
计算分配:使用
calculate_linear_qf
根据贡献、匹配资金池和提供的选项计算二次资金分配。 -
应用上限策略:利用
MatchingCapStrategy
定义在必要时如何上限或重新分配贡献。 -
生成随机贡献:使用
Random
特质生成用于测试和模拟目的的随机贡献。
示例
use pluralistic_rs::{Contribution, calculate_linear_qf, LinearQfOptions, Random};
fn main() {
// Generate random contributions
let contributions = vec![Contribution::rnd(), Contribution::rnd(), ...];
// Define options for quadratic funding calculation
let options = LinearQfOptions {
matching_cap_amount: Some(1000.0),
matching_cap_strategy: MatchingCapStrategy::Cap,
..Default::default()
};
// Calculate distributions
let distributions = calculate_linear_qf(contributions, 5000.0, options);
// Process distributions...
}
测试
库中包含一个tests
模块,包含测试用例以确保功能按预期工作。
依赖项
rand
:用于生成随机贡献和其他随机相关功能。
许可证
MIT
依赖项
~9–19MB
~272K SLoC