Skip to content

Latest commit

 

History

History
102 lines (81 loc) · 3.03 KB

readme.md

File metadata and controls

102 lines (81 loc) · 3.03 KB

=nil; Foundation

Discord Telegram Twitter

This repository is a collection of various nil-projects related to zero-knowledge proof. Check out subfolders for more. Supported by =nil; Foundation.

Contents

  1. Structure
  2. Dependencies
  3. Build & test
  4. Contributing
  5. Community
  6. Licence

Structure

root ├── crypto3 ├── debug-tools ├── parallel-crypto3 ├── proof-producer

Dependencies

  • clang (>= 11.0)/GCC (>= 10.0)/MSVC (>= 14.20)
  • cmake (>= 3.6)
  • boost (>= 1.76)

All dependencies managed by nix.

So first install nix using the following command:

curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install

then allow nix-command and flakes experimental features by adding line

experimental-features = nix-command flakes

in nix configuration file (/etc/nix/nix.conf).

Build & test

To activate Nix development environment:

nix develop

To run all tests:

nix flake check

To build an individual derivation:

nix build -L .#<derivation>

For example:

nix build -L .#proof-producer

To list all available nix-targets, call

nix flake show

If the build fails with OOM, cores number to use could be set with --cores option.

For incremental build:

nix develop .#<derivation>
eval "$configurePhase" // automatically move to the build directory
eval "$buildPhase" // build
eval "$checkPhase" // run tests

if you want to build a single target:

nix develop .#<derivation>
eval "$configurePhase" // automatically move to the build directory
ninja <target>

Contributing

See contributing for contribution guidelines.

Community

You can contact us several ways:

  • E-Mail. Just drop a line to [email protected].
  • Telegram Group. Join our Telegram group @nilfoundation and ask any question in there.
  • Discord channel for discussions.
  • Issue. Issue which does not belong to any particular module (or you just don't know where to put it) can be created in this repository. The team will answer that.
  • Discussion Topic (proposal, tutorial request, suggestion, etc). Would be happy to discuss that in the repository's GitHub Discussions

Licence

The software is provided under MIT Licence.