#stratum #tcp #server #version #connection #tide

stratum-server

Rust Stratum实现的服务器代码

210个版本 (77个稳定版)

5.7.5 2024年2月5日
5.5.4 2023年3月15日
4.5.0 2023年2月15日
4.0.0 2022年12月20日
0.9.45 2020年3月25日

WebSocket 中排名 第19

Download history 8/week @ 2024-04-22 12/week @ 2024-04-29 2/week @ 2024-05-06 19/week @ 2024-05-20 14/week @ 2024-05-27 13/week @ 2024-06-03 13/week @ 2024-06-10 6/week @ 2024-06-17 6/week @ 2024-06-24 30/week @ 2024-07-01 1/week @ 2024-07-08 146/week @ 2024-07-29 8/week @ 2024-08-05

每月下载量 154

Apache-2.0 OR MIT

120KB
2.5K SLoC

Stratum

crates.io license rustc build status CII Best Practices codecov

Rust库,用于构建Stratum服务器。想象一下Tide或Actix在Rust上构建HTTP API的样子,这个库就是构建Stratum服务器的那样。

  • 支持2种连接模型。(TCP和WebSocket)
  • 在实际应用中用于支持多种Stratum协议版本,包括
    • Stratum V1
    • Stratum v2
    • BTCAgent

目录

使用方法

@todo 即将到来

基本使用方法

@todo 即将到来

安装

@todo 即将到来

开发

打开和使用文档

要运行与stratum相关的所有rustdocs,建议运行以下命令:cargo doc --open --document-private-items --no-deps

这将编译此crate中每个模块的文档,包括私有代码。需要注意的是,它不会编译依赖项的文档。如果您希望编译该文档,请从上述命令中删除--no-deps标志。

@todo 链接到测试的readme

测试

由于此库中某些测试的性质(主要是信号测试),如果不跳过这些步骤,则cargo test无法直接工作。

为了减轻这个过程,我们使用下一代测试运行器cargo-nextest

最快速的方法是运行以下命令:cargo install cargo-nextest

有关其他安装方法,请参阅官方网站 Nextest

安装后,要运行我们的测试套件,只需运行:cargo nextest run

测试覆盖率

每次拉取请求都会自动生成测试覆盖率 - 为了在本地生成覆盖率数据,您首先需要遵循以下设置说明:[https://github.com/taiki-e/cargo-llvm-cov](https://github.com/taiki-e/cargo-llvm-cov)

此库为我们提供了基于源代码的覆盖率数据,这是检测测试覆盖率的一种改进方法。

安装 llvm-cov 后,运行以下命令生成覆盖率数据到 stdout(有关进一步配置,请参阅其文档)

cargollvm-cov nextest

测试内存泄漏

我们目前使用 MacOS 的新工具 Instruments 来测试内存泄漏。除此之外,我们还使用 cargo instruments

为了安装 cargo instruments,您需要从单独的分支安装,直到 master 分支更新。要这样做,请运行:cargo install --branch update-cargo --git https://github.com/cmyr/cargo-instruments.git

许可证

根据您的选择,受Apache 许可证 2.0 版本MIT 许可证约束。

除非您明确说明,否则您有意提交给工作的任何贡献,根据 Apache-2.0 许可证定义,将根据上述条款双重许可,不附加任何额外条款或条件。

依赖项

~6–18MB
~208K SLoC