cairo 1.0官方文档翻译加学习(安装环境)
安装
我们建议在 Python 虚拟环境中工作,但您也可以直接安装 Cairo 包。要创建并进入虚拟环境,请键入:
python3.9 -m venv ~/cairo_venv
source ~/cairo_venv/bin/activate
确保 venv 已激活——您应该在命令行提示符中看到 (cairo_venv)。
这里是设置一个虚拟环境,当然也可以用自己电脑系统命令里的python,我用虚拟环境出了个错误:没找到<python.h>,懒得解决,所以我用了系统的,大家随意。
确保您已经安装以下 pip 包:ecdsa、fastecdsa、sympy(使用 pip3 install ecdsa fastecdsa sympy)。
例如,在 Ubuntu 上,您必须先运行:
sudo apt install -y libgmp3-dev
在 Mac 上,您可以使用 brew:
brew install gmp
使用以下命令安装 cairo-lang Python 包:
pip3 install cairo-lang
或者,您可以从 https://github.com/starkware-libs/cairo-lang/releases/tag/v0.11.0.2 下载软件包 (cairo-lang-0.11.0.2.zip),并使用以下命令安装:
pip3 install cairo-lang-0.11.0.2.zip
Cairo是用python3.9测试的。要使其与 python3.6 一起使用,您必须安装 contextvars:
pip3 install contextvars
编译和运行 Cairo 程序
- 创建一个名为 test.cairo 的文件,其中包含以下代码:
func main() {
[ap] = 1000, ap++;
[ap] = 2000, ap++;
[ap] = [ap - 2] + [ap - 1], ap++;
ret;
}
- 编译:(确保所有命令都在虚拟环境中执行)
这里如果你和我一样是在系统python编译的就不用管括号后面这句话
cairo-compile test.cairo --output test_compiled.json
- 运行
cairo-run \
--program=test_compiled.json --print_output \
--print_info --relocate_prints
您可以通过向 cairo-run 提供 --tracer 标志来打开 Cairo 跟踪器。然后在 http://localhost:8100/ 打开它。
cairo-run --program=test.json --print_output --print_info --relocate_prints --tracer
大概就是这个样子:
这个很有意思,这里实际上是一个堆栈的演示,也就是说我们可以通过这个来研究cairo是如果为stark电路设计编译器的,对我这种小辣鸡来说也是一个学习zkp和编译原理的机会。
Visual Studio Code 设置
从 https://github.com/starkware-libs/cairo-lang/releases/tag/v0.11.0.2 下载 Cairo Visual Studio Code 扩展 (cairo-0.11.0.2.vsix),并使用以下命令安装:
code --install-extension cairo-0.11.0.2.vsix
配置 Visual Studio 代码设置:
"editor.formatOnSave": true,
"editor.formatOnSaveTimeout": 1500
注意:您应该通过键入代码从运行虚拟环境的终端启动 Visual Studio Code。有关 macOS 的说明,请参阅此处。
新人第一次写,欢迎指教。
[1]: https://www.cairo-lang.org/docs/quickstart.html#installation