1 个不稳定版本

0.0.1 2022 年 2 月 13 日

#8#golden

自定义许可协议

515KB
10K SLoC

saito-rust

Saito 在 Rust 中的高性能实现。

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

贡献

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

文档

依赖

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

运行节点

RUST_LOG=debug cargo run

可能的日志级别是 Error(错误)、Warn(警告)、Info(信息)、Debug(调试)、Trace(跟踪)。

测试

scripts/test.sh

cargo test

代码格式化

cargo fmt

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

代码 linting

cargo clippy

Clippy 是一组用于捕获常见错误并提高您的 Rust 代码质量的 lint。

基准测试

cargo bench

GitHub Actions

GitHub Actions 位于此处:.github/workflows

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

  • rustfmt (必需)
    检查代码是否根据 rust 风格指南进行格式化

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

  • Convco 提交格式检查 (必需)
    检查所有提交或范围,与以下规范进行错误比对:规范

  • 使用Clippy代码检查
    一组用于捕获常见错误并提高Rust代码质量的lints

VSCode

扩展

创建发布版本

cargo build --release

进一步步骤

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

TODO

对改进的建议的随意列表

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

依赖项

~29–46MB
~785K SLoC