Hendrik Eeckhaut 040c6881f3 chore(examples): extract basic_zk into standalone crate outside workspace (#1148)
* chore(examples): extract basic_zk into standalone crate outside workspace

Move `crates/examples/basic_zk/` to `crates/examples-zk/` as its own
package excluded from the root workspace. Cargo would otherwise clone the
~1 GB `noir-lang/noir` monorepo (pulled transitively by `noir-rs`) during
every workspace resolution, even when the ZK example is not built. Tested:
`cargo metadata` at the workspace root now references zero noir-related
packages, while `cargo run --release` from `crates/examples-zk/` builds
and runs the demo as before.

* ci: build basic_zk example in build-and-test job

After the previous commit moved the ZK example out of the workspace,
`cargo build --all-targets` no longer touches it. Add an explicit
release build step inside `crates/examples-zk` so the example continues
to be verified on every CI run.

* chore(examples): trim README blurb and fix clippy needless-borrow lints
2026-05-12 09:59:01 +02:00
2024-10-14 13:52:52 +00:00
2022-12-13 20:23:54 -08:00

MIT licensed Apache licensed Build Status

Website | Documentation | API Docs | Discord

TLSNotary

Data provenance and privacy with secure multi-party computation

⚠️ Notice

This project is currently under active development and should not be used in production. Expect bugs and regular major breaking changes.

License

All crates in this repository are licensed under either of

at your option.

Versions

For evaluation, we recommend using tagged releases rather than the latest main branch, as the project is under active development.

Directory

  • examples: Examples on how to use the TLSNotary protocol.
  • tlsn: The TLSNotary library.

This repository contains the source code for the Rust implementation of the TLSNotary protocol. For additional tools and implementations related to TLSNotary, visit https://github.com/tlsnotary. This includes repositories such as tlsn-extension, among others.

Development

Important

Note on Rust-to-WASM Compilation: This project requires compiling Rust into WASM, which needs clang version 16.0.0 or newer. MacOS users, be aware that Xcode's default clang might be older. If you encounter the error No available targets are compatible with triple "wasm32-unknown-unknown", it's likely due to an outdated clang. Updating clang to a newer version should resolve this issue.

For MacOS aarch64 users, if Apple's default clang isn't working, try installing llvm via Homebrew (brew install llvm). You can then prioritize the Homebrew clang over the default macOS version by modifying your PATH. Add the following line to your shell configuration file (e.g., .bashrc, .zshrc):

export PATH="/opt/homebrew/opt/llvm/bin:$PATH"

If you run into this error:

Could not find directory of OpenSSL installation, and this `-sys` crate cannot
  proceed without this knowledge. If OpenSSL is installed and this crate had
  trouble finding it,  you can set the `OPENSSL_DIR` environment variable for the
  compilation process.

Make sure you have the development packages of OpenSSL installed (libssl-dev on Ubuntu or openssl-devel on Fedora).

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

See CONTRIBUTING.md.

Description
No description provided
Readme 112 MiB
Languages
Rust 98.5%
JavaScript 0.7%
Shell 0.5%
HTML 0.2%
Noir 0.1%