Comments (4)
I've created a test framework for simulating synthesis and getting statistics like this. The bellman API allows it to be implemented independently from this library:
https://github.com/zcash-hackworks/sapling-crypto/tree/master/src/circuit/test
The kinds of checks you're mentioning can be done using this, it even has constraint system hashing for integrity checking (useful for refactoring circuit code without intending to change its contents) and some printing of the constraint system and other stuff.
from bellman.
I've seen (and used!) your TestConstraintSystem
, and it's great for finding information about the ConstraintSystem
in an offline setting (like in tests). But my usecase for these functions would be print this information at runtime, for example during setup or proving, and the existing constraint system interface doesn't provide that information at runtime. But perhaps since we're going to implement GM17 anyway we can make our implementation provide that information. Thanks!
from bellman.
Hm, I see what you mean. Maybe we can do this, but I have another idea.
I also wanted to attach something to the API which allowed you to pass in an abstract Profiler
kind of object. The object would be given timings and other information for various operations, for benchmarking and optimization both of bellman and your own circuits. If you pass in ()
for the profiler, there's no runtime cost. If you pass in some kind of profiler tool, it'll have access to a lot of useful stats.
I suppose that could be hooked up to get info about the constraint system also!
from bellman.
That's a good idea, it sounds more general-purpose and informative! Let me know if I can help with implementing it.
from bellman.
Related Issues (20)
- Needed in Groth16?
- BLAKE2b support
- Parameters::read() with checked = true is broken
- no_std support in the future? HOT 1
- Option to use constant-time multiscalar multiplication
- why bellman depend on "ff", "group" and "paring" library using local path instead of crates.io or github
- why every input should has a constraints x*0=0, for index offset constraint? HOT 1
- Extract Groth16 implementation into separate crate HOT 1
- `Boolean` XOR HOT 3
- Batch verification: Choose `z` in the range `[1..2^128)`.
- Constraint system with arrays/ error in implementing batch mode HOT 3
- How Can I Create A MPC Trusted Setup With Bellman? HOT 2
- How to read generated files from snarkjs HOT 1
- About the order of a random point
- How `eval_at_tau` works?
- Inaccurate comment about VerifyingComment::ic
- Ask about performance
- Can not build due to missing libgmp on macOS Monterey 12.5.1
- I want some papers or blogs about the principles of "FFT" which used in "https://github.com/zkcrypto/bellman/blob/3c44bfe15358ae686f9e3780aaa4cbef8ec4a472/src/domain.rs#L316-L372 ". HOT 1
- Can't import bellman::pairing HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bellman.