aboutsummaryrefslogtreecommitdiff
path: root/zkvms/zkm/sdk/README.md
blob: 492fc019228d13cb764b6fae7d63917b97481615 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# ZKM SDK usage

## Use the libsnark

1. The  compile.sh in the path sdk/src/local/libsnark only supports X86_64 linux.For MacOS, there is a [Dockerfile](../Dockerfile) in the template.
   
```
cd zkm-project-template/sdk/src/local/libsnark
./compile.sh
```
    If successful, it will generate the libsnark.so in sdk/src/local/libsnark/

2. To instruct your Rust environment on the location of the libsnark.so , you can set the LD_LIBRARY_PATH environment variable. For example:

```
export LD_LIBRARY_PATH=Your BASEDIR/zkm-project-template/sdk/src/local/libsnark:$LD_LIBRARY_PATH  
```

3. Import the SDK
   
```
// Cargo.toml
[dependencies]
zkm-sdk = { git = "https://github.com/zkMIPS/zkm-project-template", branch = "main", features = ["snark"] }
```

## Don't use the libsnark

1. Set the environment variable `NO_USE_SNARK=true` .
  
2. Import the SDK
   
```
// Cargo.toml
[dependencies]
zkm-sdk = { git = "https://github.com/zkMIPS/zkm-project-template", branch = "main" }
```