Skip to main content

Specify your Main Circom File

Prior to this release, Circom developers had to potentially rewrite local circuits so that their main component definition was contained in a file called circuit.circom located in the root of their circuit upload. We have addressed this inconvenience so you can now organize your circuit workspace in more intuitive ways. Simply include the path to your main circom file in the circuitPath field of your sindri.json manifest. If the circuitPath field is not found, Sindri will assume you have opted to compile the old way: via a circuit.circom file at the root of your project.

An Example
Circuit Directory Structure
📦CIRCUIT-PROJECT
┣ 📂circomlib
┃ ┣ 📜aliascheck.circom
┃ ┣ 📜binsum.circom
┃ ┣ 📜bitify.circom
┃ ┣ 📜comparators.circom
┃ ┣ 📜compconstant.circom
┃ ┗ 📜gates.circom
┣ 📂my-code
┃ ┣ 📜game.circom
┃ ┗ 📜utils.circom
┗ 📜sindri.json

Introducing Sindri TypeScript SDK Library

file_type_typescript
v0.0.1-alpha.20

Sindri's TypeScript SDK is live! It contains all the functionality of our command line interface while bridging the gap towards production use cases.

After integrating our library into your project dependencies, compiling a circuit and creating a proof can be accomplished with virtually three lines of code!

snippet.js
sindri = require('sindri');
circuit = await sindri.createCircuit('.');
proof = await sindri.proveCircuit(circuit.circuit_id, '{"X": 2, "Y": 2}');

See the complete reference documentation for more details.

Circuit Tagging

v1.5.25

We've finalized support within the API for "circuit tagging."

Circuit development is generally an iterative process; in your initial design phase, you will repeatedly compile your circuit as a vital part of testing. In production, you may discover vulnerabilities in your circuit. Updating the circuit in Sindri will require recompiling the circuit. This leads to many compiled circuits from the same root project. You can now easily navigate through these circuits via tags.

The CLI documentation is the best reference to get started using tagged circuits. See the -t option here.

Introducing the Sindri Changelog

Evan Sangaline
Principal Software Engineer

This is the new home of announcements relating to new features and changes for the Sindri service. Be sure to check back frequently for the latest updates.