Skip to content

Commit b829479

Browse files
ArtiomTrsauliusgrigaitis
authored andcommitted
Added system setup for ECC libraries
1 parent b447abc commit b829479

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

readme.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,26 @@ Support for multiple backend ECC libraries is implemented via [Traits](https://g
1616
| [arkworks3](https://github.com/arkworks-rs/algebra/tree/v0.3.0) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: via [sppark](https://github.com/supranational/sppark) and [wlc_msm](https://github.com/dunkirkturbo/wlc_msm/tree/master) |
1717
| [zkcrypto](https://github.com/zkcrypto/bls12_381) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :x: |
1818

19+
## Additional setup steps for ECC libraries
20+
21+
* For all backends:
22+
1. Set up rust. Only latest rust version is tested on CI, so it is better to use this one.
23+
2. C/C++ compiler:
24+
* Debian/Ubuntu: `sudo apt update && sudo apt install build-essential`
25+
* Archlinux: `pacman -S base-devel`
26+
* Windows: rustup automatically sets up [visual studio C++ compiler](https://visualstudio.microsoft.com/vs/features/cplusplus/), make sure it is present.
27+
* For `constantine`:
28+
1. Set up nim. It is recommended to use [`choosenim`](https://github.com/nim-lang/choosenim), and set up `2.0.2` nim version.
29+
2. Clang compiler:
30+
* Debian/Ubuntu: `sudo apt update && sudo apt install clang`
31+
* Archlinux: `pacman -S clang`
32+
* Windows: you can install "C++ Clang tools for Windows" from visual studio installer
33+
* For `mcl`:
34+
1. GMP:
35+
* Debian/Ubuntu: `sudo apt instal libgmp-dev`
36+
* MacOS: `brew install gmp`
37+
38+
`blst`, `arkworks3`, `arkworks4`, `arkworks5` and `zkcrypto` do not require additional setup steps.
1939

2040
# Drop-in replacement for c-kzg-4844
2141

0 commit comments

Comments
 (0)