-
Notifications
You must be signed in to change notification settings - Fork 122
Protocol 3 Testing
- One time step: For testing you can just create new keys, for production these keys are generated in the trusted setup. The proving key is very large!
dex_circuit -createkeys [inBlock.json]
Make sure you have a keys
folder in your working directory.
- Proving a block
dex_circuit -prove [inBlock.json] [outProof.json]
If the necessary keys aren't generated yet this will also generate the keys.
Requirements increase linearly with the number of constraints.
For the maximum 256M constraints (~512 ring settlements):
-
Memory: Up to ~512GB. Yes, this is memory (not storage). 512GB RAM is probably very expensive (if even possible), having a large swap file on an SSD is probably more realistic to make sure we don't go out of memory. Still, the more RAM the better. When testing with a swap file I noticed long periods of time the CPU wasn't doing much, I suspect it swapping data in and out of RAM.
-
Storage: The proving key is ~130GB. This data is read at the start so this probably doesn't need to be on a quick drive. If we need to use a swap file we also need enough quick storage to store that. The blocks and the proofs are very small.
64M contraints | 128M contraints | 256M constraints | |
---|---|---|---|
i7 (4 cores), 16GB RAM, SSD | ~55 minutes | ~114 minute |
Loopring Foundation
nothing here