关于
Cairo是第一个用于创建可证明程序的图灵完备语言,适用于通用计算。
入门
前提条件
- 安装 Rust
- 设置 Rust:
rustup override set stable && rustup update
通过在项目根目录运行以下命令确保正确安装了Rust:
cargo test
编译和运行Cairo文件
将Cairo编译为Sierra:
cargo run --bin cairo-compile -- --single-file /path/to/input.cairo /path/to/output.sierra --replace-ids
将Sierra编译为casm(Cairo汇编):
cargo run --bin sierra-compile -- /path/to/input.sierra /path/to/output.casm
直接运行Cairo代码:
cargo run --bin cairo-run -- --single-file /path/to/file.cairo
更多信息请参见此处。你也可以在examples目录中找到Cairo示例。
关于专门运行测试,请参见:cairo-test
编译Starknet合约
将Starknet合约编译为Sierra ContractClass:
cargo run --bin starknet-compile -- --single-file /path/to/input.cairo /path/to/output.json
或者如果在同一个项目中定义了多个合约,请指定合约路径:
cargo run --bin starknet-compile -- /path/to/input/crate /path/to/output.json --contract-path path::to::contract
编译CompiledClass的ContractClass:
cargo run --bin starknet-sierra-compile -- /path/to/input.json /path/to/output.casm
开发
安装语言服务器
按照vscode-cairo中的说明进行操作。
路线图
下一个里程碑是达到与旧版Cairo相同的功能。 你可以在这里追踪具体进度。
支持
- 我们鼓励开发者在stackoverflow上提问和回答问题。
- 联系方式列在此GitHub个人资料上。
项目协助
如果你想表示感谢或/和支持Cairo的积极开发:
让我们一起使Cairo变得更好!
贡献
首先,感谢你抽出时间贡献!贡献使开源社区成为一个令人惊叹的学习、启发和创造的地方。你的任何贡献都将造福他人,我们非常感谢。
请阅读我们的贡献指南,再次感谢你的参与!
作者与贡献者
完整的作者和贡献者列表,请参见贡献者页面。
安全
Cairo遵循良好的安全实践,但无法保证100%的安全。 Cairo按"原样"提供,不提供任何保证。使用风险自负。
有关更多信息和报告安全问题,请参阅我们的安全文档。
许可证
本项目采用 Apache 2.0 许可证。
更多信息请参见LICENSE。