@@ -233,11 +233,49 @@ proof types:
233233- Protocol compliance validation
234234- Regression testing for circuit changes
235235
236- ## Circuit Constraint Extraction
236+ ### Circuit Generation Process
237+
238+ Since these constraint capabilities are missing, the Mina rust nodes require
239+ externally generated circuit data. The following process describes how circuits
240+ are created and distributed using the original Mina codebase:
241+
242+ :::warning Work in Progress
243+
244+ This should be updated when a release of the OCaml node happens that contains code to
245+ export circuits, and when command to export circuits is added, and CI is updated
246+ to check for latest circuits
247+
248+ :::
249+
250+ 1 . Build mina <b >OCaml</b > node from source with commit after
251+ [ ` 6961849 ` ] ( https://github.com/MinaProtocol/mina/commit/6961849f17d564c39e7d45e01e3ddda9a09602a4 )
252+
253+ 2 . Running the circuit generation process using the branch above
254+ - Launch the OCaml node which produces circuit cache data in
255+ ` /tmp/coda_cache_dir `
256+ - The branch dumps the usual circuit data plus extra data specifically
257+ required by the Mina rust nodes, see
258+ [ Circuit somponents] ( #circuit-components )
259+ - The process also dumps blocks for use in tests, see
260+ [ Testing strategy] ( #testing-strategy )
261+ - Integration with mainline Mina would streamline future circuit generation
262+
263+ 3 . The generated circuit blobs are then:
264+ - Committed to the dedicated repository:
265+ https://github.com/o1-labs/circuit-blobs
266+ - Released as GitHub releases for versioning and distribution
267+
268+ ### Circuit Components
269+
270+ Each circuit consists of multiple components that are loaded and cached
271+ independently:
237272
238- For a comprehensive technical overview of circuit constraint extraction, see the
239- [ circuit_blobs module documentation] ( https://o1-labs.github.io/mina-rust/api-docs/ledger/proofs/circuit_blobs/index.html )
240- in the ledger crate.
273+ - ** Gates** : Circuit constraint definitions in JSON format (` *_gates.json ` )
274+ - ** Internal Variables** : Constraint variable mappings in binary format
275+ (` *_internal_vars.bin ` )
276+ - ** Rows Reverse** : Row-wise constraint data in binary format (` *_rows_rev.bin ` )
277+ - ** Verifier Indices** : Pre-computed verification data with SHA256 integrity
278+ checks
241279
242280### Overview
243281
0 commit comments