#analysis #stellar #simulation #json-format #quorum #fbas

bin+lib fbas_analyzer

用于分析像Stellar网络这样的FBAS(联邦拜占庭协议系统)的库和工具

16个版本

0.7.4 2023年12月25日
0.7.3 2022年5月20日
0.7.2 2022年4月20日
0.7.0 2022年3月21日
0.4.2 2020年7月22日

#1558 in 魔法豆

MIT 许可证

365KB
9K SLoC

FBAS分析器

Cargo Documentation CI codecov

用于分析联邦拜占庭协议系统(FBAS)的库和工具,如StellarMobileCoin。相关研究论文在此

这里实现的实现可以

  • 读取节点和组织数据,格式为stellarbeat的JSON格式
  • 确定法定人数交集
  • 找到所有最小法定人数(这里的最小意味着每个现有的法定人数都是某个最小法定人数的超集)
  • 找到所有最小阻塞集(活性的最小必要集)
  • 找到所有最小分割集(安全的必要集)
  • 模拟不同的法定人数集配置策略,生成用于进一步分析的合成FBAS

StellarMobileCoin网络的分析网站提供动力。

作为工具的使用

  1. 安装Rust
  2. (可选) 运行单元测试和功能测试
scripts/tests.py
  1. 构建
cargo build --release
  1. 使用来自stellarbeat的旧数据尝试工具
target/release/fbas_analyzer test_data/stellarbeat_nodes_2019-09-17.json --merge-by-org test_data/stellarbeat_organizations_2019-09-17.json -a -p -S --only-core-nodes
  1. 从stellarbeat获取一些新数据
scripts/get_latest_stellarbeat_data.sh
  1. 再试一些其他操作
target/release/fbas_analyzer -h
target/release/bulk_fbas_analyzer -h

当然,您也可以使用cargo install fbas_analyzer来安装。

作为Rust库的使用

将此添加到您的Cargo.toml

[dependencies]
fbas_analyzer = { version = "0.7", default-features = false }

或者,如果您需要模拟功能,请添加此内容

[dependencies]
fbas_analyzer = { version = "0.7", default-features = false, features = ["qsc-simulation"] }

查看API参考以及API如何在src/bin/中的工具和examples中的示例中使用。

另请参阅 / 致谢

当然还有非常棒的stellarbeat.io :)

依赖项

~3–12MB
~130K SLoC