5 个版本 (3 个重大更新)
0.4.0 | 2023 年 9 月 13 日 |
---|---|
0.3.1 | 2023 年 8 月 2 日 |
0.3.0 | 2023 年 7 月 18 日 |
0.2.0 | 2023 年 7 月 3 日 |
0.1.0 | 2023 年 6 月 27 日 |
#30 in #starknet
775KB
18K SLoC
目录
⚠️ 免责声明
🚧 此项目正在开发中,尚未准备好生产使用。使用风险自担。🚧
📖 关于
starknet_in_rust
是 Starknet 的 Rust 实现。它使用 cairo-vm,即 Cairo 虚拟机的 Rust 实现。
🌅 入门
依赖关系
- Rust 1.70
- 安装 cairo-lang 0.12 的有效安装(用于编译 cairo 文件)
- [可选,用于测试目的] Heaptrack
安装
运行以下 make 目标以创建工作环境(如果在 Mac 上或在遇到错误时,请参阅下面的子节)
Linux (x86-64)
$ make deps
$ make build
OSX (Apple Silicon)
$ make deps-macos
$ make build
检查 Makefile 以获取其他目标。
RPC 状态读取器
为了使用 RPC 状态读取器,在根目录下的 .env
文件中添加一个 Infura API 密钥
INFURA_API_KEY={some_key}
如何手动安装脚本依赖项
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
🚀 使用
运行简单合约
您可以在这里找到关于运行合约的教程。
使用CLI
您可以在这里找到如何使用CLI的示例。
测试
运行以下命令
$ make test
性能分析
运行以下命令
$ make flamegraph
以生成主操作执行信息的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-vm: 在Rust中快速实现的Cairo VM。
- cairo-vm-py: 从Python代码中使用cairo-vm的绑定。
📚 文档
Starknet
⚖️ 许可证
本项目采用Apache 2.0许可证。
有关更多信息,请参阅LICENSE。
依赖关系
~37–52MB
~1M SLoC