3 个不稳定版本
使用旧的 Rust 2015
0.2.1 | 2019 年 11 月 15 日 |
---|---|
0.2.0 | 2019 年 1 月 27 日 |
0.1.0 | 2019 年 1 月 26 日 |
#376 在 模拟 中
11KB
98 行
Bustabit Rust
bustabit
是用于验证 Bustabit 游戏的(投注和结果)的实用库。
Bustabit 是一个公平的运气游戏。您可以在官方网站上尝试游戏:https://bustabit.com/
“可证明公平” 意味着:1) 每一轮游戏的 结果在玩家下注后没有改变,2) 这个声明可以由任何第三方验证和证明。
可证明公平游戏依赖于加密散列(单向)函数的性质。Bustabit 的证明更为复杂。除了证明游戏结果的可独立性外,它还证明了一个被称为 “爆仓” 的游戏结果系数。
如果您想获取历史爆仓数据或分析之前发生的游戏,可以使用它。它还可能在测试和调试您的自动播放脚本时很有用。
这是第三方验证脚本的纯 Rust 实现:https://jsfiddle.net/Dexon95/2fmuxLza/embedded/result/
基准测试
此软件包还包含使用 Criterion 进行的性能基准测试。使用 cargo bench
运行它们。
示例
对于简单的示例,请运行 cargo run --example nyans
或 cargo run --example simple
。
使用方法
extern crate bustabit;
// extern crate hex;
use bustabit::Game;
fn main() {
// some game hash
let s = String::from("b2acd37fbdb5509926ab5d7329704c840f8467266c90019682f3b260a029bdba");
// create `Game` object from hash string
let mut game:Game = Game::new(&s).unwrap();
// iterate through 20 games occured before game with hash 'b2acd..bdba'
for g in game.into_iter().take(20) {
println!("{}", g); // print the Game object
// println!("{}", game.outcome()); // print game outcome
// println!("{}", hex::encode(game.hash)); // print game hash of current game
}
}
依赖项
~710KB
~14K SLoC