sindri-labs / sindri-resources Goto Github PK
View Code? Open in Web Editor NEWSample data for Sindri Labs' Forge API
License: MIT License
Sample data for Sindri Labs' Forge API
License: MIT License
With broader version support for Noir Circuits, we need to update our sample circuits to include each possible supported version. (Bonus points for circuits with features not supported by previous versions!)
We should provide sample circuits for Chiquito-halo2 which will give users the ability to understand the necessary steps to build their circuits.
The current quickstart scripts are outdated and reflect separate headers with requests that are no longer required.
The Circom circuit type within forge will soon undergo a simplifying name change from Circom [C/WASM] Groth16 bn254
to simply Circom
. The auxilliary Sindri.json file now contains the required witness executable, proving scheme, and curve information. Consequently we need to update our sample circuits here.
Required to be satisfied in order to accept the issue.
circom/foodie
circom/multiplier2
circom/sha256
circom/sudoku
circom/README.md
reflects the acceptable choices for each new field:
CURVE_NAME
WITNESS_EXECUTABLE
PROVING_SCHEME
Ensure the Gnark examples, including the tar.gz files, have the new Sindri.json update.
We need to update all of the gnark sample circuits to represent the version label change in forge. This change requires Sindri.json
version from "8.1" to "0.8.1" to be true to the actual gnark version. We also need to add new circuits to represent gnark version "0.9.0".
Sindri.json
version changesAs a user
I want to see examples which decode and verify a proof returned by Sindri
so that I can easily use that data
Required to be satisfied in order to accept the issue. The example-code directory contains a subdir with code performing the following:
When the API begins support for Noir, we need to provide a new directory here with well documented Noir example circuits.
As a user
I want to see examples which decode and verify a proof returned by Sindri
so that I can easily use that data
Required to be satisfied in order to accept the issue. The example-code directory contains a subdir with code performing the following:
As a user
I want to see an example program that interacts with Forge via Rust and the reqwest crate
so that it is easier to integrate with my existing codebase.
Required to be satisfied in order to accept the issue.
See https://github.com/Sindri-Labs/forge-sample-data/tree/klm-initial-rust-quickstart
The Halo2 circuit type within forge will soon undergo a simplifying name change from Halo2 Axiom v[0.2.2/0.3.0]
to simply Halo2
. The auxilliary Sindri.json file now contains the required version. Consequently we need to update our sample circuits here.
Required to be satisfied in order to accept the issue.
halo2/axiom-v0.3.0
axiom_header_goerli
float_radius
quadratic_circuit
halo2/axiom-v0.2.2
mult-example
storage_proof
halo2/README.md
reflects the acceptable choices for the new fieldThe Gnark circuit type within forge will soon undergo a simplifying name change from Gnark v0.9.1 Groth16 bn254
to simply Gnark
. The auxilliary Sindri.json
file now contains the required version, proving scheme, and curve information. Consequently we need to update our sample circuits here.
Acceptance Criteria
Required to be satisfied in order to accept the issue.
Sindri.json
file has updated fields in:
gnark/cubic/
gnark/poseidon/
gnark/README.md
reflects the acceptable choices for each new field:
CURVE_NAME
VERSION
PROVING_SCHEME
Due to an updated snark-verifier-sdk
package version (v0.1.6) which requires a rust version (v0.1.73) that we do not yet support, we must specify the v0.1.1
tag within the Cargo.toml for our axiom-eth circuits
Note that this will require invoking _prepare_circuit_database.py
as well to update the compressed versions.
We currently have forge-sample-data/example-code/quickstart.py
, but porting the example code to additional languages would make it easier for people to get started if they aren't using Python. JavaScript is one of the next most common client languages, so that's a good starting point.
Create api demo sample python scripts for external users to download and use.
We should provide sample code which will serialize proving and verification keys in the format we are expecting so that users have an example to adapt. Optionally, we may revise some of our example circuits to already include the necessary key files.
We no longer require the main circom file of a circom circuit upload to be named circuit.circom
. You may now include a field circuit_path
in your Sindri manifest specifying the full path to your main circom file.
One way to raise awareness of the new feature is to revise all of our database and tutorial circuits to utilize the feature. This will probably give the more complicated circuit projects a more informative file structure.
Refactor sample data repo to use new structure and scripts from the forge repo sampledata refactor
Add MIT license to all sindri circuits
NOTE: Ask @katiemckeon which circuits were developed by Sindri Labs
Any readme of the form circuit_tutorials/{framework}/README.md
contains the old readme from what is now called circuit_database/
. This information should not be placed in these readmes, as the tutorials are more individual walkthroughs rather than general commentary about circuit requirements.
This information should either be placed within the appropriate readme for circuit_database/
or within the docs
Rename repo to sindri-resources
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.