3 个不稳定版本

使用旧的 Rust 2015

0.2.1 2019 年 11 月 15 日
0.2.0 2019 年 1 月 27 日
0.1.0 2019 年 1 月 26 日

#376模拟

MIT 许可协议

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 nyanscargo 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