#block-hash #ticket #reference #blockchain #serve #golden #saito

已删除 saito_rust

在 Rust 中实现的 Saito 的高性能版本

0.0.1 2022年2月13日

#9#golden

自定义许可协议

515KB
10K SLoC

saito-rust

Rust 中 Saito 的高性能实现。

该项目将成为其他代码库的参考实现。它也将是一个灵活的实现,可以轻松扩展以支持各种测试网实现,例如,我们可以使用不同的纪元时间或不同的随机数来源进行“黄金票”彩票游戏,而不是使用 sha256 难度哈希(例如 PoS 或甚至第三方来源,如 BTC 区块哈希)。

贡献

我们欢迎任何形式的贡献。
在开始之前,请查看我们的 贡献指南

文档

依赖项

  • (如果在 macOS 上:xcode-select --install)
  • 安装 Rust

运行节点

RUST_LOG=debug cargo run

可能的日志级别是 Error、Warn、Info、Debug、Trace。

测试

scripts/test.sh

cargo test

代码格式化

cargo fmt

根据 Rust 风格指南 格式化代码。

代码审查

cargo clippy

Clippy 是一个用于捕获常见错误并改进您的 Rust 代码的审查工具集合。

基准测试

cargo bench

GitHub Actions

GitHub Actions 存放在这里: .github/workflows

  • cargo docs
    在 GH 页面上创建和部署文档

  • rustfmt (必需)
    检查代码是否符合 rust 样式指南的格式

  • cargo build & test
    尝试构建代码并运行所有测试

  • Convco 提交格式检查 (必需)
    检查所有提交或范围是否符合 约定

  • Clippy 代码 linting
    一组 lints,用于捕获常见错误并改进您的 Rust 代码

VSCode

扩展

创建发布

cargo build --release

后续步骤

将某些 rust 功能(作为二进制文件)作为 npm 包发布

TODO

对改进的一些建议的随意列表

[] 路由跳数目前包含两个公钥和一个签名。我们可以删除 "from",因为它在上下文中是可用的(来自第一个事务的发送者,然后是 to 字段。我们还应该能够通过切换到不同的/自反签名来减少签名。这将极大地减少我们事务的大小,并缩小块大小。

依赖项

~29–44MB
~782K SLoC