snarkOS
                                
                                 snarkOS copied to clipboard
                                
                                    snarkOS copied to clipboard
                            
                            
                            
                        Limit amount of transactions which clients verify in parallel
Motivation
Our clients can and do run out of memory, probably because they have no limit on how many transactions they verify in parallel. This PR proposes to queue them (just like the validator does in Consensus) and limit how much parallel verification we do.
We can do a lot of clever things to increase the processing speed, like check how many constraints the incoming transactions have, await on a channel to rapidly start verifying, but the focus for now is simplicity and safety.
Test Plan
- Verified that the client still runs fine with https://github.com/AleoHQ/snarkOS/pull/2972
Related PRs
Implicitly assumes we have https://github.com/AleoHQ/snarkVM/pull/2271 to limit size of transactions coming through. And this would help to minimize the overhead of transaction verification when syncing blocks with already seen transactions: https://github.com/AleoHQ/snarkVM/pull/2270