| Crates.io | taceo-oprf-service |
| lib.rs | taceo-oprf-service |
| version | 0.3.0 |
| created_at | 2025-12-16 14:24:13.785014+00 |
| updated_at | 2026-01-20 16:05:36.500725+00 |
| description | Main service for nodes of TACEO:Oprf |
| homepage | https://www.taceo.io |
| repository | https://github.com/TaceoLabs/oprf-service |
| max_upload_size | |
| id | 1987915 |
| size | 236,902 |
[!WARNING] This repository is heavy WIP and may contain incomplete, insecure and unaudited protocols. Do not use this in production!
This is a monorepo containing:
circom: A collection of Circom circuits and test vectors for them.contracts: An implementation of the required smart contracts.docs: A typst document serving as a writeup of the overall scheme.noir: A collection of Noir circuits.oprf-client: A crate implementing a client lib for the OPRF service.oprf-client-example: A crate implementing example a client.oprf-core: A crate implementing a verifiable OPRF based on the TwoHashDH OPRF construction + a threshold variant of it.oprf-dev-client: A crate implementing a dev client binary.oprf-key-gen: A crate implementing a OPRF key generation instance.oprf-service: A crate implementing a service lib for the OPRF service.oprf-service-example: A crate implementing a example OPRF node.oprf-test: A crate implementing integration tests and required mocks.oprf-types: A crate implementing types that are shared between client, service, and the blockchain.To install the dependencies for the smart contracts run the following command:
cd contracts && forge install
For development, the best way to run/test the setup is with the integration tests.
just integration-tests
To use the dev client, you can start the setup using the following command:
just run-setup
This command does multiple things in order:
localstack and anvil docker containersOprfKeyRegistry smart contractOprfKeyRegistry contractLog files for all processes can be found in the created logs directory.
You can kill the setup with Ctrl+C, which kills all processes and stops all docker containers.
You can then use the dev client to send requests using the following command:
just run-dev-client test