Skip to content
/ risc0 Public
forked from risc0/risc0

RISC Zero is a zero-knowledge verifiable general computing platform based on zk-STARKs and the RISC-V microarchitecture.

License

Notifications You must be signed in to change notification settings

Auradine/risc0

Repository files navigation

RISC Zero

Risc0 is a zero-knowledge verifiable general computing platform based on zk-STARKs and the RISC-V microarchitecture.

Building RISC Zero

We use Bazel for its strong multi-language multi-platform features and performance.

We recommend using Bazelisk to make bazel version management seamless.

In order to build Risc0 executables you'll need a RISC-V toolchain. Bazel will automatically fetch and manage the toolchain for the following platforms:

  • Linux - Ubuntu 18+ (x86_64)
  • macOS (x86_64)
  • macOS (arm64)
  • Windows (x86_64)

Other platforms will be supported in the future.

You should be able to build and run all tests with:

bazelisk test //...

Linux

A C++ compiler must be installed; both gcc and clang should work. Let us know if you run into any issues.

macOS

Risc0 development on macOS requires a full installation of Xcode (not just command line tools).

Windows

Our usage of Bazel requires symlink support to be enabled. This is possible on Windows by enabling Developer Mode, or by running Bazel as an administrator.

A C++ compiler must be installed. Visual Studio 2019 Build Tools is known to work (as does the Community edition). Let us know if you run into any issues.

Running the 'Battleship' Examples

'Battleship' is a 2-player hidden information game implemented in C++ & Rust.

Players produce proofs of game-state and the result of their actions to enable two players to play fairly with no intermediaries.

The best way to understand how the game works currently is to read the code and run the tests with debug logging enabled:

C++

RISC0_LOG=1 bazelisk run //examples/cpp/battleship:test

Rust

RISC0_LOG=1 bazelisk run //examples/rust/battleship:test

About

RISC Zero is a zero-knowledge verifiable general computing platform based on zk-STARKs and the RISC-V microarchitecture.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 72.5%
  • Rust 16.5%
  • Metal 5.5%
  • Cuda 5.3%
  • Assembly 0.1%
  • Solidity 0.1%