这两天在Windows上配置ZoKrates整个人都破防了,除了官方文档以为几乎找不到一点教程,对于我这样一个five来说简直是噩梦。最后终于误打误撞的弄好了,下面先介绍一下ZoKrates,然后再分享一下我配置的过程——
ZoKrates简介
网上对ZoKrates的描述有很多,简单来说——ZoKrates是一个用于以太坊零知识证明应用开发的zkSNARK工具箱,利用ZokRates提供的插件。再简单来说,我们可以利用ZoKrates这项工具来帮我们完成零知识证明。
ZoKrates配置过程
有条件的朋友可以直接看官方文档:Introduction - ZoKrates
这里我斗胆对原文档的安装过程做一些我自己的见解。首先我们先看原文档是怎么说的——
You can build ZoKrates from source with the following commands:
git clone https://github.com/ZoKrates/ZoKrates
cd ZoKrates
export ZOKRATES_STDLIB=$PWD/zokrates_stdlib/stdlib
cargo build -p zokrates_cli --release
cd target/release
下面我将讲述在运行这些指令时存在的问题以及解决方法。
先看第一条指令——
git clone https://github.com/ZoKrates/ZoKrates
如果在工具没有完善时会出现“git command not found”这样的报错。对于这个问题,我们只需要下载Git Bash即可。网址:Git - Downloads (git-scm.com) 选择合适自己电脑的版本即可。
当我们下载Git之后,我们又会遇到下一个报错——
fatal: unable to access 'https://github.com/Zokrates/Zokrates/
针对这个问题,我们需要挂上多尝试几次。因为github确实不是每次都能登上去。(也可以将github仓库的文件上传到Gitee上,再从Gitee上获取。)
第二条和第三条指令不会遇到什么特别大的问题,在运行第四条指令时我们会遇到下一个问题——
cargo command not found
解决这个问题,我们需要配置rust环境。
Rust官网:安装 Rust - Rust 程序设计语言 (rust-lang.org)
下载Rustup后,点击exe运行就行了。这里是纯命令行命令,对于我这种小白其实非常不友好,对于不知道怎么做的时候我的方法就是输入1然后Enter。然后会出现类似下面的界面,等他安装完就行了。
下载完成之后还需要下载VC,这个网上教程一找一大堆,就不多说了。安装的时候选择”使用c++的桌面开发”即可。
完成这些之后,运行一下指令就会出现这样的结果
做完这些之后,再运行以上指令就ok了。
结束之后,运行最后一条指令我们就安装完成啦!但是这个时候我们在终端中输入
zokrates --version
我们会得到——
zokarates command not found
这个时候我们需要将其设置为环境变量。我们需要找到release(ZoKrates/target/release)这个文件,复制其路径。然后打开“高级系统设置”,打开“环境变量”,在系统变量中找到Path,将我们刚刚复制的路径粘贴上去即可。
最后,如果安装完成,我们输入以下指令可以得到这样的结果——
-------------------------------------------------------------------------------------------------------------------------------- 今天compile文件的时候又遇到个问题,遇到这样一个报错“Invalid standard library source path”,解决方法是按照他给的路径,建立好文件夹后。将zokrates文件中的stalib文件拷贝过去即可。