1 个不稳定版本
0.1.0 | 2023年6月27日 |
---|
#58 in #starknet
610KB
15K SLoC
目录
⚠️ 免责声明
🚧 此项目正在进行中,尚未准备好投入生产。使用风险自负。 🚧
📖 关于
starknet_in_rust
是在Rust中实现 Starknet 的实现。它使用了 cairo-rs,即Cairo虚拟机的Rust实现。
🌅 入门
依赖项
- Rust 1.70
- cairo-lang 0.12的运行安装(用于编译cairo文件)
- [可选,用于测试目的] Heaptrack
安装
运行以下make目标以获得一个工作环境(如果在Mac上或遇到错误,请参阅以下子节)
$ make deps
$ make build
查看Makefile 以获取更多目标。
如何手动安装脚本依赖项
cairo-lang
需要 gmp
库来构建。您可以在基于Debian的GNU/Linux发行版上使用以下命令安装它
sudo apt install -y libgmp3-dev
在Mac上,您可以使用Homebrew
brew install gmp
在Mac上,您还需要告诉脚本在哪里可以找到gmp库
export CFLAGS=-I/opt/homebrew/opt/gmp/include LDFLAGS=-L/opt/homebrew/opt/gmp/lib
🚀 使用
运行简单合约
您可以在这里找到有关运行合约的教程。
使用命令行界面
您可以在这里找到有关如何使用命令行界面的示例
测试
运行以下命令
$ make test
性能分析
运行以下命令
$ make flamegraph
以生成包含主要操作执行信息的火焰图。
基准测试
阅读 'bench_integration.py' 文件以确定哪些行需要注释掉以获得准确的结果。注释掉这些行,然后运行以下命令
$ make benchmark
🛠 贡献
开源社区是一个学习、灵感和创作的绝佳地方,这一切都归功于像您这样的人的贡献。您的贡献受到高度赞赏。
如果您有任何改进项目的建议,请随时fork存储库并创建一个pull request,或者打开一个带有'enhancement'标签的问题。
- 分叉项目
- 创建您的功能分支(
git checkout -b feature/AmazingFeature
) - 提交您的更改(
git commit -m 'Add some AmazingFeature'
) - 推送到分支(
git push origin feature/AmazingFeature
) - 打开Pull Request
别忘了给项目加星!⭐ 再次感谢您的支持。
🌞 相关项目
- cairo-rs:Cairo VM在Rust中的快速实现。
- cairo-rs-py:从Python代码中使用cairo-rs的绑定。
📚 文档
Starknet
⚖️ 许可证
本项目采用Apache 2.0许可协议。
有关更多信息,请参阅LICENSE。
依赖项
~56MB
~1M SLoC