Skip to content

zkFold/symbolic

Repository files navigation

Symbolic framework

This repository contains the zkFold Symbolic framework. Contents:

  • symbolic-base: The core package of the framework, providing the Symbolic compiler and the base symbolic data types;
  • symbolic-examples: A collection of symbolic code examples for benchmarking and testing;
  • symbolic-ledger: An implementation of the zkFold Ledger written in Symbolic;
  • symbolic-apps: Applications and smart contracts built with the framework by the zkFold team;
  • symbolic-cardano: A package for interfacing with the Cardano blockchain;
  • symbolic-uplc: A transpiler from UPLC to Symbolic.

Documentation

The Symbolic framework simplifies development of zero-knowledge applications and smart contracts. Developers can implement their app's business logic in high-level Haskell, and the framework will automatically generate the corresponding zero-knowledge circuits. The framework utilizes a very general intermediate representation of the circuits, supporting a wide range of proving systems.

User documentation can be found at docs.zkfold.io.

If you want to contribute to the project or find out how it works "under the hood", check out package documentation on Hackage.

Build

The package compiles with GHC 9.6.6 and Cabal 3.10.3.0. To build all packages, execute

cabal build all

Tests

To run the tests, execute

cabal test all

Benchmarks

To run the benchmarks, execute

cabal bench all

Releases

No releases published

Packages

No packages published