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
尝试构建代码并运行所有测试 -
使用Clippy代码检查
一组用于捕获常见错误并提高Rust代码质量的lints
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–46MB
~785K SLoC