0.0.1 |
|
---|
#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
尝试构建代码并运行所有测试 -
Clippy 代码 linting
一组 lints,用于捕获常见错误并改进您的 Rust 代码
VSCode
扩展
创建发布
cargo build --release
后续步骤
将某些 rust 功能(作为二进制文件)作为 npm 包发布
- https://blog.woubuc.be/post/publishing-rust-binary-on-npm
- https://github.com/EverlastingBugstopper/binary-install
TODO
对改进的一些建议的随意列表
[] 路由跳数目前包含两个公钥和一个签名。我们可以删除 "from",因为它在上下文中是可用的(来自第一个事务的发送者,然后是 to 字段。我们还应该能够通过切换到不同的/自反签名来减少签名。这将极大地减少我们事务的大小,并缩小块大小。
依赖项
~29–44MB
~782K SLoC